使用appassembler-maven-plugin插件生成启动脚本


appassembler-maven-plugin可以自动生成跨平台的启动脚本,省去了手工写脚本的麻烦,而且还可以生成jsw的后台运行程序。

首先pom引入相关依赖

     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>${java.src.version}</source>
                    <target>${java.target.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>com.bosssoft.platform.appframe.mobile.TestAuth</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
    <profile>
        <id>appassembler</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <build>
            <plugins>
                <!-- Generate both Windows and Linux bash shell execution scripts -->
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>appassembler-maven-plugin</artifactId>
                    <version>1.10</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>assemble</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <repositoryLayout>flat</repositoryLayout>
                        <useWildcardClassPath>true</useWildcardClassPath>
                        <!-- Set the target configuration directory to be used in the bin scripts -->
                        <configurationDirectory>conf</configurationDirectory>
                        <!-- Copy the contents from "/src/main/config" to the target configuration directory in the assembled application -->
                        <copyConfigurationDirectory>true</copyConfigurationDirectory>
                        <!-- Include the target configuration directory in the beginning of the classpath declaration in the bin scripts -->
                        <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
                        <!-- Extra JVM arguments that will be included in the bin scripts -->
                        <repositoryName>lib</repositoryName>
                        <extraJvmArguments>-Xmx1024m -Djava.net.preferIPv4Stack=true -Dfile.encoding=utf-8</extraJvmArguments>
                        <programs>
                            <program>
                                <id>main</id>
                                <mainClass>com.bosssoft.platform.appframe.mobile.TestAuth</mainClass>
                                <name>main</name>
                            </program>
                        </programs>
                        <binFileExtensions>
                            <unix>.sh</unix>
                        </binFileExtensions>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
    </profiles>

注:红色标注的内容改成,main所在的程序类路径

然后运行maven命令 :mvn package appassembler:assemble 或者mvn clean install即可

就可以自动生成整个的依赖文件,配置文件和运行脚本了。

相关配置说明:

configurationDirectory:生成配置文件路径 configurationSourceDirectory:配置文件原路径,默认为src/main/config assembleDirectory:整体包目录 extraJvmArguments:jvm参数 binFileExtensions:生成脚本的后缀 platforms:生成哪几种平台 repositoryName:依赖包目录,默认repo programs:这个必须参数,启动的主class 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM