使用maven打包可执行的jar

原创
2016/09/06 16:21
阅读数 204

使用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文件,

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部