1. jar分类
project jar
executable(fat) jar
2.传递依赖
3.maven 打包插件
plugin | function |
---|---|
maven-jar-plugin | maven 默认打包插件,用来创建 project jar |
maven-shade-plugin | 用来打可执行包,executable(fat) jar |
maven-assembly-plugin | 支持定制化打包方式,例如 apache 项目的打包方式 |
4.检测包冲突
5.linux vim 系统环境设置
vi xxx.sh
set fileformat 查看当前环境 unix dos
set fileformat=unix 设置成unix环境,不然会报错 “/r”
建议项目的IDE 或是Jenkins 的Line Separator 设置成LF
6.Maven Assembly
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
maven assembly 方式打包后,会有个jar,
配置完pom后,调用mvn clean install命令进行构建,构建成功后打开工程target目录,发现生成了2个jar包,
一个为:original-XXX-0.0.1-SNAPSHOT.jar
另一个为:XXX-0.0.1-SNAPSHOT.jar
其中original...jar里只包含了工程自己的class文件,
而另外的一个jar包则包含了工程本身以及所有依赖的jar包的class文件。
我们只需要使用第二个jar包就可以了
7. Jenkins ssh远程执行shell命令
如果要用到java环境变量,比如启动一个jar 需要导入JAVA环境变量
export JAVA_HOME=/usr/local/jdk
8.jenkins通过execute shell启动的进程会被杀死的问题
修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重启jenkins生效
此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死启动的tomcat进程
参考 http://www.ithao123.cn/content-863409.html
http://bbs.csdn.net/topics/391051386
9.maven中的路径表示建议用"/"能够跨Unix和Windows,"\"在Unix平台会有问题