前言
本文只是基于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启动文件是这个:
总结
此方法简单粗暴,只是在下的一点心得,有帮助的不用谢,还请各位博主多多指教!!!