maven插件打包配置文件分离自动生成启动脚本(Linux  + windows 启动脚本)

                                                                                                                                                           


前言

本文只是基于java环境代码,maven插件打包方式,打包生成的Linux脚本为xshell格式(即.sh文件格式),也可生成Windows脚本(即.bat文件格式)


提示:以下是本篇文章正文内容,下面案例可供参考

一、打包展示

示例:

二、操作步骤

1.   pom文件打包配置

代码如下(示例):

     <build>
        <plugins>
            <!-- 例如代码中要是使用上了jdk1.7的新特性,但是maven在编译的时候使用的是jdk1.6的版本,那这一段代码是完全不可能编译成.class文件的。
                 windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误。
                为了处理这一种情况的出现,在构建maven项目的时候,我习惯性第一步就是配置maven-compiler-plugin插件。 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>  <!-- 源代码使用的开发版本 -->
                <artifactId>maven-compiler-plugin</artifactId>  <!-- 需要生成的目标class文件的编译版本 -->
                <version>3.8.1</version>
                <configuration>
                    <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中需要没有使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>  <!-- 指定添加项目中使用的外部jar的classpath项 -->
                            <mainClass>com.it.Application</mainClass>  <!-- 指定本项目jar包的启动类 -->
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>appassembler</id>
            <activation>
                <activeByDefault>true</activeByDefault>  <!-- 采用项目默认的环境变量配置 dev test pro -->
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>appassembler-maven-plugin</artifactId>
                        <version>2.1.0</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>assemble</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 -->
                            <repositoryLayout>flat</repositoryLayout>
                            <useWildcardClassPath>true</useWildcardClassPath>
                            <!-- 配置文件的目标目录 -->
                            <configurationDirectory>conf</configurationDirectory>
                            <!-- 拷贝配置文件到上面的目录中 -->
                            <copyConfigurationDirectory>true</copyConfigurationDirectory>
                            <!-- 从哪里拷贝配置文件 (默认src/main/config) -->
                            <configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
                            <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
                            <!--生成的项目的目录位置,这里的client是项目的名称,你可以根据你的需要自己随便命名 -->
                            <assembleDirectory>${project.build.directory}/adminTwo</assembleDirectory>
                            <!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
                            <repositoryName>lib</repositoryName>
                            <!-- 可执行脚本的目录 -->
                            <binFolder>bin</binFolder>
                            <programs>
                                <program>
                                    <id>main</id>
                                    <mainClass>com.it.Application</mainClass>  <!-- 启动类地址 -->
                                    <name>start</name>  <!-- 生成的脚本文件的名称,比如start.sh,你也可以根据你的需要命名成其他名字 -->
                                    <jvmSettings>  <!-- jvm参数,根据自己内存来 -->
                                        <extraArguments>
                                            <extraArgument>-server</extraArgument>
                                            <extraArgument>-Xmx1G</extraArgument>
                                            <extraArgument>-Xms1G</extraArgument>
                                        </extraArguments>
                                    </jvmSettings>
                                </program>
                            </programs>
                            <!-- 生成linux, windows两种平台的执行脚本 -->
                            <platforms>
                                <platform>windows</platform>
                                <platform>unix</platform>
                            </platforms>
                            <binFileExtensions>
                                <unix>.sh</unix>  <!-- 设置生成文件为xshell脚本格式 -->
                            </binFileExtensions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

 

2.  这里只展示Windows启动示例

 

(1)在桌面新建一个文件夹

(2)把打包后生成adminTwo(具体找自己定义的打包目录)内的文件放在这个文件中

(3)启动

到此部已OK了!!!我们访问下本地试试

3.Linux需注意的地方

(1)Linux基本和windows操作一样,把具体文件上传就可以,如果要更新代码,只用把打包后lib文件夹内自己写的jar包替换了就行,conf配置文件有改动也可直接替换

我的是这个:

(2)进入bin目录,启动命令为(start.sh为自己生成的文件):sh start.sh &

我的Linux启动文件是这个:


总结

此方法简单粗暴,只是在下的一点心得,有帮助的不用谢,还请各位博主多多指教!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值