assembly.xml配置文件java
<?xml version="1.0" encoding="UTF-8"?> <assembly> <!-- 可自定義,這裏指定的是項目環境 --> <!-- xxx.tar.gz --> <id>${name}</id> <!-- 打包的類型,若是有N個,將會打N個類型的包 --> <formats> <format>tar.gz</format> <format>zip</format> </formats> <includeBaseDirectory>true</includeBaseDirectory> <fileSets> <!-- 配置文件打包-打包至config目錄下 --> <fileSet> <directory>src/main/resources/</directory> <outputDirectory>config</outputDirectory> <fileMode>0644</fileMode> <includes> <include>application.yml</include> <include>*.xml</include> <include>*.properties</include> </includes> </fileSet> <!-- 啓動文件目錄 --> <fileSet> <directory>${basedir}/src/bin</directory> <outputDirectory>bin</outputDirectory> <fileMode>0755</fileMode> <includes> <include>**.sh</include> <include>**.bat</include> </includes> </fileSet> </fileSets> <dependencySets> <dependencySet> <!-- 依賴庫 --> <outputDirectory>lib</outputDirectory> <scope>runtime</scope> <fileMode>0755</fileMode> <excludes> <exclude>${project.groupId}:${project.artifactId}</exclude> </excludes> </dependencySet> <dependencySet> <outputDirectory>boot</outputDirectory> <fileMode>0755</fileMode> <includes> <include>${project.groupId}:${project.artifactId}</include> </includes> </dependencySet> </dependencySets> </assembly>
pom文件中build屬性的配置spring
<build> <!-- 打包後的啓動jar名稱 --> <finalName>message</finalName> <plugins> <!-- 用於排除jar中依賴包 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <includes> <!-- 項目啓動jar包中排除依賴包 --> <include> <groupId>non-exists</groupId> <artifactId>non-exists</artifactId> </include> </includes> </configuration> </plugin> <!-- 將依賴cp到lib目錄下 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> <includeScope>compile</includeScope> </configuration> </execution> </executions> </plugin> <!-- maven編譯 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <!-- 不一樣版本須要制定具體的版本進行編譯 --> <source>${java.version}</source> <target>${java.version}</target> </configuration> </plugin> <!-- 打包時跳過測試 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <!-- 將項目中代碼文件打成jar包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <excludes> <!-- 打包後的jar包中不包括配置文件 --> <!-- 一般是指classpath下目錄下的文件,這樣能夠避免編寫時的找不到相應文件 --> <exclude>*.xml</exclude> <exclude>*.properties</exclude> <exclude>*.yml</exclude> </excludes> <archive> <manifest> <!-- 項目啓動類 --> <mainClass>xx.xxx.Application</mainClass> <!-- 依賴的jar的目錄前綴 --> <classpathPrefix>../lib/</classpathPrefix> <addClasspath>true</addClasspath> </manifest> <!-- 將config目錄加入classpath目錄 --> <manifestEntries> <Class-Path>../config/</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <!-- 打包插件 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <descriptors> <descriptor>src/main/assembly/assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
1.直接運行 java -jar xxxx.jar便可shell
2.編寫shell/bash腳本apache
在bin目錄下編寫腳本文件以下:windows
shellbash
#! /bin/sh HOME = '/opt/xxx/boot' JAR_HOME = 'xxx.jar' cd $HOME nohup java -jar $JAR_HOME
bash微信
@echo off rem ====================================================================== rem windows startup script rem rem ====================================================================== rem startup jar java -jar ../boot/xxx.jar pause