使用maven打包可执行的jar
要求实现如下目录结构:
bin (用于存放执行的脚本) lib (用于存放依赖的jar包) conf (用于存放相关的配置文件) logs (用于存放log日志)
使用到的maven插件如下:
1.maven-jar-plugin
2.maven-dependency-plugin
3.maven-resources-plugin
maven-resources-plugin 主要处理将resources目录下的.bat .sh等文件写入到bin目录下以及将resources目录下的.properties文件及.sql文件写入到conf 目录中去.
maven-dependency-plugin 主要处理将依赖的包写入到lib目录中去.
maven-jar-plugin 主要处理将.class文件及xml文件打包到jar,生成manifest及将conf目录追加到classpath
maven-jar-plugin 的主要配置如下:
<!-- 打包插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <!--<index>true</index>--> <!-- 生成MANIFEST.MF的设置 --> <manifest> <!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 --> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <!-- jar启动入口类--> <mainClass>com.hyc.ops.mq.VouchersOnRegister</mainClass> </manifest> <manifestEntries> <!-- 在Class-Path下添加配置文件的路径 --> <Class-Path>conf/</Class-Path> <Implementation-Build>${project.parent.version}</Implementation-Build> </manifestEntries> </archive> <includes> <include>**/*.class</include> <include>**/*.xml</include> </includes> </configuration> </plugin>
在使用时总是提示找不到相关的schema , 网上没有相关问题解答,后经测试发现将<index>true</index>注掉后无此问题,至于不会生成INDEX.LIST文件,