• 使用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 
  • 相关阅读:
    贪心算法与动态规划
    Linux重要目录结构
    博客园添加目录索引
    冒泡排序&插入排序&其他排序
    Linux下部署自己写的Web项目
    Java算法入门-数组&链表&队列
    Java集合-数据结构之栈、队列、数组、链表和红黑树
    Java集合-单例模式斗地主&Collections类的shuffle方法了解
    什么是反向代理服务器
    Linux信号处理
  • 原文地址:https://www.cnblogs.com/shawWey/p/8571608.html
Copyright © 2020-2023  润新知