Jenkins Maven打包相关内容-第一篇

Maven打包指令

mvn -P stg clean install deploy -Djavacpp.platform=linux-x86_64  -Dmaven.test.skip=true

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

jar命令

jar xvf  *.jar   yml  ?

一.jar命令参数:

jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...

其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数,文件名也是必须的。

-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成详细的报造,并输出至标准设备
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

指令使用方法:

jar cvf hello.jar hello # 利用hello目录创建hello.jar包,并显示创建过程
jar tvf hello.jar 查看hello.jar包的内容
指定的jar包必须真实存在,否则会发生FileNoutFoundException。
jar tvf hello.jar >hello.txt 如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,这时你可以把列表输出到一个文件中,慢慢欣赏
jar xvf hello.jar 解压hello.jar至当前目录

参考

Maven打包命令详解:

1、package命令完成了项目编译、单元测试、打包功能,但 没有 把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

2、install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库。

3、deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库。

1、mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个命令。
2、mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个命令。
3、mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个命令。

clean:清除项目目录中的生成结果output内容
install:在本地Repository中安装jar
package:根据项目生成jar包
deploy:将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

Maven 命令参数 中的 -D 表示 Properties属性,而 -P 表示 Profiles配置文件。

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
举例:

mvn -DpropertyName=propertyValue clean package
#如果 propertyName 不存在于 pom.xml 文件中,它将被设置。如果 propertyName 已经存在 pom.xml 文件中,其值将被作为参数传递的值覆盖。要设置多个变量,请使用多个空格分隔符加-D 如下:
mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

如:
现有pom.xml 文件

myDefaultTheme

在执行过程中 mvn -Dtheme=newValue clean package 会覆盖 theme 的值

newValue

-P 代表 Profiles 配置文件的属性,也就是说在 指定的 中,可以通过-P进行传递或者赋值。

具体举例:
maven 命令:mvn clean package -Dmaven.test.skip=true -P product
.命令很简单是:清class文件,打包构建,跳过测试,注意最后一个 -P product,-P maven 会激活项目下的pom.xml配置的标签下id为product


     
         product
         
             product
         
     

参考1
参考2

你可能感兴趣的:(Jenkins Maven打包相关内容-第一篇)