使用该包的特点是可以自动生成两套执行文件:linux、windows
主要通过pom.xml配置并辅以编译命令完成构建:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>cn.com</groupId> <artifactId>qiuyin</artifactId> <version>0.0.1</version> <name>test</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>2.0.0</version> <configuration> <!-- 生成linux, windows两种平台的执行脚本 --> <platforms> <platform>unix</platform> <platform>windows</platform> </platforms> <!-- 包存放的根目录 --> <assembleDirectory>${project.build.directory}/${project.name}</assembleDirectory> <!-- 打包的jar,以及maven依赖的jar存放目录 --> <repositoryName>lib</repositoryName> <!-- lib目录中jar的存放规则,默认是${groupId}/${artifactId}的目录格式,flat表示直接把jar放到lib目录 --> <!-- 可执行脚本的存放目录 --> <binFolder>bin</binFolder> <!-- 配置文件的存放目录 --> <configurationDirectory>conf</configurationDirectory> <!-- 拷贝配置文件到上面的目录中 --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- 从哪里拷贝配置文件 (默认src/main/config) --> <configurationSourceDirectory>src/main/config</configurationSourceDirectory> <repositoryLayout>flat</repositoryLayout> <encoding>UTF-8</encoding> <logsDirectory>logs</logsDirectory> <tempDirectory>tmp</tempDirectory> <programs> <program> <!-- 启动类 --> <mainClass>cn.com.qiuyin.TestApplication</mainClass> <jvmSettings> <extraArguments> <extraArgument>-server</extraArgument> <!-- 设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。 --> <extraArgument>-Xmx1G</extraArgument> <!-- 设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。 --> <extraArgument>-Xms1G</extraArgument> </extraArguments> </jvmSettings> </program> </programs> </configuration> </plugin> </plugins> </build> </project>构建命令:mvn clean package appassembler:assemble
若是使用eclipse/myeclipse,右键点击项目,run as ->maven build……
在下图所示的地方输入命令:
构建好的文件会在开发工具,工作空间的项目目录下,文件名与项目名相同,目录结构如下:
要执行的文件在bin目录下:
可以看到.bat的文件可以直接在windows下执行,运行项目,而linux下需要给另一个文件授权:
chmod 755 /……(自己的目录)/项目名/bin/项目名-application
然后就可以在linux中运行这个文件了
最后记录一下运维相关的内容:
防火墙关闭或开放端口 iptables -t filter -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT service iptables save iptables -t filter -D INPUT 5 前面提到的授权 vi /etc/rc.local export JAVA_HOME=/usr/java/jdk1.8.0_144 nohup /……(自己的目录)/项目名/bin/项目名-application &