使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)
0-0 前言
最近和同事做爬虫,其中我主要遇到的问题是:同事在github上放了爬虫demo让我自己去下载,然后自己能搭好环境让整个项目跑起来去抓51job找工作数据。git上克隆一个项目下来,项目是通过maven管理各种插件jar包,我自己摸索搭环境跑起来。
(1)网页内容爬取用python2.7来做,爬取主要用的库有:beautifulsoup4-4.5.1,lxml-3.6.0,stomp.py-4.1.9;均可去官网下载后解压,在解压目录运行steup.py文件即可。
(2)消息队列中间件用apache-activemq-5.9.1,下载后解压运行bin\win64\activemq.bat,开启一个消息队列mq
(3)其中java处理部分用Intellij IDEA IDE,导入后发现各个依赖均没有自动下载。Intellij iDEA IDE怎么导入maven工程,选择file——open——projectName,打开项目,发现各种依赖包都没有,需要我一个一个的去找再下载,然后放在本地自己安装的maven项目里面,依赖的包太多,根本找不过来,只能重新想办法。
用到的技巧是:导入一个maven项目到 IntellijIDAE2016.2,关键的一点是选择open——》pom.xml,会自动下载和导入依赖包文件,而不用手动去一个一个的找。超级方便。如果选项目名称导入的话需要配置pom.xml
0. 引言
今天想跟大家分享一下我主要的 Java 开发工具,我一般是这样工作的:用 IDEA 写代码,用 Maven 管理 jar 包依赖与项目打包,用 Git 进行代码版本控制。
关于这三款工具的安装与配置的过程,本文不作说明,有不太明白的朋友,可以给我留言,我会尽力解答。
下面以开发 Smart 应用为例,描述一下这三款工具的具体使用方法。
1. 使用 Git 下载源码
首先,在你的磁盘里找个单独的文件夹来存放 Smart 的所有项目源码,例如:D:\Project\smart,以下称为“工作目录”。
然后,分别通过 git clone 命令下载 Smart Framework 与 Smart Sample 的源码到本地磁盘上。下载地址如下:
- Smart Framwork:http://git.oschina.net/huangyong/smart-framework
- Smart Sample:http://git.oschina.net/huangyong/smart-sample
- Smart Cache:http://git.oschina.net/huangyong/smart-plugin-cache
例如:使用 git clone http://git.oschina.net/huangyong/smart-framework 命令,下载 Smart Framework 项目源码。
执行完以上三条 git clone 命令后,你的工作目录中应该会看到这三个子目录:smart-framework、smart-sample、smart-plugin-cache。
2. 编写 Maven 项目配置文件
此时,你可以在工作目录里(也就是在以上三个项目目录的同级)编写一个 Maven 项目配置文件(作为根配置文件),同样需要命名为 pom.xml,用它来组织这三个项目。代码如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>smart</groupId>
<artifactId>smart</artifactId>
<version>1.0</version>
<packaging>pom</packaging> <modules>
<module>smart-framework</module>
<module>smart-sample</module>
<module>smart-plugin-cache</module>
</modules> </project>
3. 使用 IDEA 直接打开 Maven 项目
打开你的 IDEA,选择 Open Project,此时会弹出一个对话框:
在地址栏中定位到你的工作目录(可以手工编写路径或直接粘贴路径),选择 pom.xml,随后 IDEA 将自动创建一个基于 Maven 项目。
注意:在 IDEA 的向导界面中一定要选择是 Open Project,而不要选择 Create New Project。也可以使用 Import Project 导入 Maven 项目,但没有直接 Open Project 来得痛快。
弹指之间,项目已创建完毕!
4. 编译源码
先编译一下吧,可以在工具栏中点击这个按钮:
你也可使用快捷键 Ctrl + F9,显摆一下你的专业。
随后,IDEA 将编译整个项目源码,一般情况下是没有任何消息的,因为没有消息就是好消息。
此外,你还可使用 Maven 进行编译。在 IDEA 中点击右侧的 Maven Projects 选项卡,可看到如下界面:
注意:上图中 smart (root) 表示 Maven 的根配置,也就是你刚才手工编写的那个 pom.xml,由它来管理所有其他的 Maven 项目。
可双击一下 compile 节点,随后 IDEA 会调用 Maven 进行编译。这样你就不需要在 cmd 里手工输入 Maven 命令了,当然其他的命令你也是可以双击运行。
5. 在 IDEA 中配置 Tomcat
注意:建议使用 Tomcat 7.0+
在 IDEA 中配置 Tomcat,只需进行一下几个步骤:
首先,点击工具栏中的下拉框,然后点击下拉菜单中的 Edit Configurations 菜单项。
点击后将弹出一个对话框,你可点击左上角的“+”按钮,新建一个 Local 的 Tomcat Server。
然后,可对 Tomcat 进行命名,默认是 Unnamed,可修改为 Tomcat。此外,若你不想让 IDEA 自动打开浏览器,去掉 Start browser 复选框即可,我一般都是这么干的。
随后,部署一个项目,需要切换到上图中的 Deployment 选项卡中,进行简单的配置。
操作步骤:点击“+”按钮 -> 点击 Artifacts... -> 选择 smart-sample:war exploded -> 修改 Application context 为“/smart-sample”。
最后,建议你切换回 Server 选项卡,在 On frame deactivation 下拉框下选择 Update resources。
这样做是为了当你切换出 IDEA 后,可自动更新资源(包括:HTML、CSS、JS、JSP 等),如需要自动编译的话,可使用第三个选项。
注意:IDEA 12.1.6(最新版)中有一个 Bug,第二项也进行了自动编译,在之前的版本中是不存在的,不知道下个版本会不会解决这个问题,不过此问题不会影响你使用。
点击 OK 按钮完成 Tomcat 的所有配置,现在可在工具栏中看见 Tomcat 图标了。
提示:在运行之前,你必须手工创建数据库。比如,Smart Sample 的数据库脚本就在 smart-sample 的 doc 目录下。
6. 以 Debug 方式运行应用程序
你只需点一下工具栏中的 Debug 按钮,即可以 Debug 方式运行 Smart Sample 了。
建议:在开发过程中尽量使用 Debug 方式运行,这样你可以随时在 IDEA 中打断点进行调试。此外,需要说明的是,IDEA 的调试功能非常强大,而且非常好用!
7. 在 IDEA 中对 Git 进行提交与更新
在工具栏中也包括了 Git 的常用操作,操作非常方便。
以上图标分别表示:更新代码、提交代码、查看差异、查看历史、撤销更改。
此外,你还可以点击最下方的 Changes 选项卡,用来查看本地变更(Local)与提交日志(Log)。
你可以选择某个版本来查看具体提交的文件内容,还可以同时选择多个版本一起查看,还有很多实用的功能。
8. 总结
IDEA 是一款非常优秀的 Java 集成开发环境,用法非常简单,上手也非常快。它对主流技术与工具都有相应的插件支持,你可以自定义插件列表,把对于自己无用的插件禁用掉。
Maven 是一款非常优秀的项目构建工具,有了它之后,你无需在每个项目中管理一大堆的 jar 包了,此外,它还非常有助于对项目进行打包(打 jar/war 包),当然它的功能绝不仅仅如此。
Git 是一款非常优秀的代码版本控制系统,它可以有效地实现多人异地办公,此外,你可以提交代码到本地仓库中,然后一次性提交到远程仓库。
以上三款工具的结合,会大大提高 Java 程序员的战斗能力!在此,强烈推荐大家使用!
使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)的更多相关文章
- 用 NetBeans 快速开发 Java JAX-RS RESTful 服务
有很多IDE可以开发Java RESTful服务,Eclipse.NetBeans等,个人偏好使用NetBeans,本文介绍使用NetBeans开发的入门步骤. <理解RESTful架构> ...
- Salesforce中通过SOAP API和Metadata API开发java的web server服务
1.下载Salesforce平台中WSDL文件 在Salesforce中创建了自己需要用到的对象后,我们想要在别的应用中读写纪录到对象中,首先需要的是自己Salesforce平台的权限通过.登陆自己的 ...
- Wechat4j之Hello world——使用wechat4j快速开发java版微信公众号
Wechat4j是一个开源的java微信开发框架,是目前最简单易用的java微信开发框架. 项目地址:https://github.com/sword-org/wechat4j Wechat4j.ja ...
- springboot快速开发(简单web)
这是一个springboot基础配置文件介绍的demo.只涉及到 控制层与前端的简单交互,用于验证代码的畅通. spring-boot pom.xml解释 <?xml version=&quo ...
- AAuto 快速开发win32小程序
AAuto编程语言 AAuto是专用于桌面软件快速开发的新一代混合型编程语言 - 具有动态语言轻便.灵活.快速开发的特性,而且又可以同时支持静态类型开发,象静态语言那样使用.AAuto可以直接支持原 ...
- Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用
前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...
- 如何有效快速提高Java服务端开发人员的技术水平?
我相信很多工作了3-5年的开发人员都会经常问自己几个问题: 1.为什么总是感觉技术没有质的提高? 2.如何能够有效和快速的提高自身的技术水平? 3.如何进入到一个牛逼的大公司,认识牛逼的人? 这篇文章 ...
- JEECG 3.7.1 版本发布,企业级JAVA快速开发平台
JEECG 3.7.1 版本发布,企业级JAVA快速开发平台 ---------------------------------------- Version: Jeecg_3.7.1项 目: ...
- Java快速开发平台,JEECG 3.7.6性能增强版本发布
JEECG 3.7.6 性能增强版本发布 导读 ⊙Vue SPA单页面应用 ⊙Datagrid标签实现不同风格切换,支持BootstrapTable.EasyUI ⊙灵活通用代码生成器工厂 ...
随机推荐
- Oracle 11g default profile 默认启用密码过期180天 ORA-28001错误处理
问题描述:客户反映客户端不能登录应用程序时不能连接.环境:AIX 5.3 + Oracle 11gR2解决:远程Telnet到数据库主机,sqlplus / as sysdba 连接后操作正常,表明数 ...
- rtc关机闹钟2 Alarm manager
public void set(int type, long triggerAtMillis, long windowMillis, long intervalMillis, PendingInten ...
- Android ADB 用法
adb 全称是 Android Debug Bridge, 就是起到调试桥的作用. 用来操作android设备的 阅读目录 adb 有什么用 借助adb工具, 我们可以管理设备或手机模拟器的状态, ...
- composer 一些使用说明
1 使用订制的包 配置 "repositories": [ { "type": "path", "url": " ...
- 新手要想学好Linux系统就必须做好这四件事情
一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...
- 【 2013 Multi-University Training Contest 6 】
HDU 4655 Cut Pieces 假设n个数构成的总数都分成了n段,总数是n*a1*a2*...*an.但是答案显然不会那么多. 对于相邻的两个ai,ai+1,如果选择相同的颜色,那么就减少了a ...
- Ubuntu安装node
#!/bin/bash echo "添加环境变量需要root权限,如无root权限,则不添加环境变量" echo "输入Node下载地址(目前仅支持Node官方网站上Li ...
- 一、Python 简介
There should be one -- and preferably only one -- obvious way to do it. 一种解释型,面向对象的.带有动态语义的高级程序设计语言. ...
- POJ 3294 二分找超过一半字符串中存在的子串
题目大意: 给定n个字符串,求出现在不小于k/2个字符串中的最长子串. 二分找对应子串长度的答案,将所有字符串链接成一个长字符串求后缀数组,记录每一个位置本属于第几个字符串,利用height查询的时候 ...
- Linux 内核常见宏定义
我们在阅读Linux内核是,常见到这些宏 __init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等等.它们定义在 /incl ...