Java工程打成tar包的博文很多, 但是很多都只是给了简单的配置文件demo, 但是作为一项工程, 简单的配置是不能成事的. 大部分开源软件都是tar.gz格式, 很明显非常的工程化, 规范化.
所以仅仅一些随笔性质的博文还是不能够让我掌握, 得以在生产环境中使用.
于是, 自己资料加线上测试探索, 基本掌握一点入门使用.
您将了解到:
打tar包的基本配置
启动/停止脚本
shell启动java程序classpath问题
shell结束java程序时, java自己在结束进程之前如何做些后续处理工作
分环境打包和assembly插件基本使用
目录结构
|- javapro
|- bin
|- conf
|- logs
|- lib
|- README.MD
...
lib: 自己的工程打成的jar包以及依赖jar包
conf:配置文件
logs: 日志
bin: 脚本, 如启动,停止脚本
打包配置
通常流行使用assembly插件打包, 包括tar包.
这一步麻烦的是配置, 所以需要整理好模板, 以备不时之需.
pom.xml
引入插件.
org.apache.maven.plugins
maven-assembly-plugin
2.2.1
assemble
single
package
false
false
profile标签配置
release
true
env
release
maven-assembly-plugin
${basedir}/src/main/assembly/release.xml
${project.artifactId}-${project.version}
${project.parent.build.directory}
上文的 profile可以配置多环境(开发,测试,生成..., 这里仅用一个环境release演示).
可以看到release环境中引入了./src/main/assembly/release.xml文件. 这个文件就是决定了打包的目录结构和文件.
release.xml
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
dist
tar.gz
false
.
/
README*
test.csv