云开发日记之linux下无IDE的maven构建maven项目

来源:互联网 发布:利用网络学英语 编辑:程序博客网 时间:2024/06/13 06:19

        因为主要在linux下用vim编辑器开发(emacs用户请勿喷),所以记录的是无IDE情况下的maven项目构建方式。

        首先阐明使用maven的原因,IBM中文社区牛人已经讲得比较详细,对比了构建项目的两个工具MavenAnt,链接如下https://www.ibm.com/developerworks/cn/java/j-maven/Maven采用远程仓库和本地仓库,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小,在执行maven任务时,才会自动下载需要的插件。在项目进程中,不必做什么配置,在pom.xml同级目录,使用简单的maven命令,就可以完成初始化->开发->测试->发布的全过程。

       接下来开始创建maven项目:

1.建立项目文件,需要建立两个路径,分别是产品代码路径和测试代码路径

基本格式是

my-app

|--pom.xml

`--src

|-- main ------------------------------------负责管理项目主体

| `-- java

| `-- com

| `-- mycompany

| `-- app

| `-- App.java

`--test --------------------------------------负责管理项目测试

`--java

`--com

`--mycompany

`--app

`--AppTest.java

2.pom.xml文件即项目对象模型,建立在项目的根目录下,是maven构建项目的基石,maven根据pom.xml文件中的字段信息管理整个项目。

基本格式是

<projectxmlns="http://maven.apache.org/POM/4.0.0">----父项目的坐标

<modelVersion></modelVersion>---------------------------模型版本

<groupId></groupId>------------------------------------------产品组ID

<artifactId></artifactId>---------------------------------------一般填写项目名称

<version></version>-------------------------------------------产品版本

<packaging></packaging>------------------------------------定义项目将要被打包的格式

<name></name>------------------------------------------------项目名称

<url></url>------------------------------------------------------ITSURL

<properties>-----------------------------------------------------填写依赖库的版本变量

<jetty.version></jetty.version>

</properties>

<repositories>---------------------------------------------------仓库

<repository>--------------------------------------------------本地仓库或者远程仓库的相关信息

<id></id>

<name></name>

<url></url>-------------------------------------------------仓库URL

</repository>

</repositories>

<pluginRepositories></pluginRepositories>----------------插件仓库定义

<dependencies>-------------------------------------------------依赖包定义

<dependency></dependency>

</dependencies>

<build>----------------------------------------------------------设置编译时的一些参数

<plugins></plugins>----------------------------------------编译需要的插件

</build>

</project>

以上只是列出一些基本的格式,pom文件的详解转一个链接,讲的很详细。http://blog.csdn.net/ithomer/article/details/9332071

3.在项目文件中编写好代码后,使用mvn[clean] package命令编译打包程序,或者使用mvn[clean] test -Dtests=test.java编译测试代码。

4.最后使用java-cp ***.jar ***.main.java启动进程,或者使用java-jar启动jar包格式的进程。

最后整理一下一些maven的命令:

1.mvn clean清空生成的文件

2.mvn packagejar

3.mvn clean package -DskipTestsjar包并且编译跳过test

4.mvn clean test编译test

5.mvn clean test -Dtest=TestA.java单独编译TestA测试代码

6.mvn jetty:run将项目运行在jetty

对于mvnpackage以及lifecycle,phasegoal的理解官方文档说得比较清楚。http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

以上简单的介绍了无IDEmaven项目的流程,详细细节以后慢慢补充。

0 0