博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“Maven官方用户入门指南”翻译之四
阅读量:4112 次
发布时间:2019-05-25

本文共 3184 字,大约阅读时间需要 10 分钟。

如何打包jar并发布到本地资源库上?

执行如下命令可以直接创建一个jar

mvn package

看一下pom文件你可以注意到packaging元素的值已经设置成jar,这也就是为什么maven执行上述命令可以创建jar文件(关于这个后面还会说更多)。现在到${basedir}/target 这个目录下你可以看到刚才生成的jar文件。

如果你打算安装此生成文件到本地资源库(默认本地路径为~/.m2/repository ,更多关于资源库相关请参考)中那么执行如下命令:

mvn install

 执行上述命令如下信息将被输出:

[INFO] ----------------------------------------------------------------------------[INFO] Building Maven Quick Start Archetype[INFO]    task-segment: [install][INFO] ----------------------------------------------------------------------------[INFO] [resources:resources][INFO] [compiler:compile]Compiling 1 source file to 
/my-app/target/classes[INFO] [resources:testResources][INFO] [compiler:testCompile]Compiling 1 source file to
/my-app/target/test-classes[INFO] [surefire:test][INFO] Setting reports dir:
/my-app/target/surefire-reports------------------------------------------------------- T E S T S-------------------------------------------------------[surefire] Running com.mycompany.app.AppTest[surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.001 secResults :[surefire] Tests run: 1, Failures: 0, Errors: 0[INFO] [jar:jar][INFO] Building jar:
/my-app/target/my-app-1.0-SNAPSHOT.jar[INFO] [install:install][INFO] Installing
/my-app/target/my-app-1.0-SNAPSHOT.jar to \
/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar[INFO] ----------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ----------------------------------------------------------------------------[INFO] Total time: 5 seconds[INFO] Finished at: Tue Oct 04 13:20:32 GMT-05:00 2005[INFO] Final Memory: 3M/8M[INFO] ----------------------------------------------------------------------------

注意上面的单元测试插件查找单元测试文件是基于命名的,默认测试文件包括如下:

**/*Test.java**/Test*.java**/*TestCase.java

默认不包括:

**/Abstract*Test.java**/Abstract*TestCase.java

你现在已经经历过maven的安装、构建、测试、打包和创建maven工程。这也是大多数项目用maven要做的并且你也注意到了所有的这些都是基于18行pom文件的。你也注意到了如果是ant的话那么他的构建文件差不多是pom文件的两倍才能完成同样的工作。其实maven还有更多的功能但是不需要在pom文件中做任何修改。如果在ant中的话,增加功能就需要修改ant的构建文件。

那么还有什么我们可以免费得到的?这里还有大量的跟上面pom文件一样简单的插件。这里我们提一个maven的很有价值的特性:pom文件不需要做任何修改就可以为你的项目生成一个站点。也许你需要自定义你的站点,不过如果时间不允许的话你也可以执行如下命令生成一个基本的站点:

mvn site

这里还有很多可以单独执行的功能,比如:

mvn clean

这个操作将会清空构建所创建的多有的数据文件,也就是target目录下,这个是个刷新操作。

有可能你需要生成IntelliJ IDEA项目,那么执行如下命令:

mvn idea:idea

如果打算用eclipse那么可以执行如下操作:

mvn eclipse:eclipse

注意:一些maven1.0的还是可用的,比如:jar:jar。不过没啥大用,目前jar:jar不会重新编译源文件,仅仅会简单的基于 target/classes打包成jar文件,这个已经完全有了。

如何使用plugin?

如果打算定制自己的maven工程的话,那么就需要添加或者配置maven插件了。

maven1.0用户注意:稍有些不同,你需要在maven.xml中添加<preGoal>在project.properties中增加实体配置。

如果你打算基于jdk1.5编译,那么你需要在你的pom文件中增加:

...
org.apache.maven.plugins
maven-compiler-plugin
2.5.1
1.5
1.5
...

在maven2.0中你可以看出这些插件更像是dependency,有时候他们还真是dependency。这些插件会自动下载,如果指定了版本那么他们会按照指定的版本下载(默认是最新版本)。

configuration 元素指定了编译插件所需要的参数。上述例子编译插件作为构建生命周期的一部分,并且可以配置。也可以增加其他的功能配置其他的功能。更多的信息请参见 。

可以在 中查找更多的可用插件。可以基于导航查看他的功能。如何配置插件参数请参考。

 

 

 

转载地址:http://zsqsi.baihongyu.com/

你可能感兴趣的文章
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
初试visual studio2012的新型数据库LocalDB
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>
Single Number II --出现一次的数(重)
查看>>
Valid Parentheses --括号匹配
查看>>
Generate Parentheses--生成匹配括号(重)
查看>>
Remove Element--原地移除重复元素
查看>>
Remove Duplicates from Sorted Array--从有序数组中移除重复元素
查看>>
Count and Say
查看>>
Gas Station
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
Valid Palindrome 简单的回文判断
查看>>
Pascal's Triangle -- 生成杨辉三角
查看>>
Pascal's Triangle II 生成杨辉三角中的某行
查看>>