Maven plugin插件---appassembler-maven-plugin快速配置


使用appassembler-maven-plugin 打包自定義目錄

1.Pom中添加

    <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-resources</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>${project.build.directory}/${project.name}/classes</outputDirectory>
                    <resources>
                        <resource>
                            <directory>${project.build.directory}/classes</directory>
                            <filtering>false</filtering>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>appassembler-maven-plugin</artifactId>
        <version>2.0.0</version>
        <configuration>
            <!-- 生成linux, windows兩種平台的執行腳本 -->
            <platforms>
                <platform>windows</platform>
                <platform>unix</platform>
            </platforms>
            <!-- 根目錄 -->
            <assembleDirectory>${project.build.directory}/${project.name}</assembleDirectory>
            <!-- 打包的jar,以及maven依賴的jar放到這個目錄里面 -->
            <repositoryName>lib</repositoryName>
            <!-- 可執行腳本的目錄 -->
            <binFolder>bin</binFolder>
            <!-- lib目錄中jar的存放規則,默認是${groupId}/${artifactId}的目錄格式,flat表示直接把jar放到lib目錄 -->
            <repositoryLayout>flat</repositoryLayout>
            <encoding>UTF-8</encoding>
            <logsDirectory>logs</logsDirectory>
            <tempDirectory>tmp</tempDirectory>
            <programs>
                <program>
                    <!-- 啟動類 -->
                    <mainClass>org.ko.web.Application</mainClass>
                    <jvmSettings>
                        <extraArguments>
                            <extraArgument>-server</extraArgument>
                            <extraArgument>-Xmx2G</extraArgument>
                            <extraArgument>-Xms2G</extraArgument>
                        </extraArguments>
                    </jvmSettings>
                </program>
            </programs>
        </configuration>
    </plugin>

2.修改啟動的主類-對應自己的main入口

    <!-- 啟動類 -->
    <mainClass>org.ko.web.Application</mainClass>

3.使用maven命令打包

    mvn clean package appassembler:assemble

4.修改
- {project.name}/target/{project.name}/bin/application.bat
- 找到CLASSPATH, 在后面添加:”%BASEDIR%”\classes;

    set CLASSPATH="%BASEDIR%"\classes;...

5.啟動:{project.name}/target/{project.name}/bin/application.bat

6.錯誤
- 命令行過長–set CLASSPATH時REPO有可能過多, 這里使用通配符

    set CLASSPATH="%BASEDIR%"\classes;"%REPO%"\*;

7.GitHub demo
Demo: appassembler-maven-plugin簡單Demo

8.參考
maven: 用appassembler-maven-plugin打包含有自定義目錄的JAVA程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM