springboot 基於 maven 自定義格式打包
阿新 • • 發佈:2019-01-04
第一步,開啟專案所在的工作空間並建立conf資料夾,在該檔案下建立package.xml 內容如下:
<assembly> <id>bin</id> <!-- 最終打包成一個用於釋出的zip檔案 --> <formats> <format>zip</format> </formats> <!-- Adds dependencies to zip package under lib directory --> <dependencySets> <dependencySet> <!-- 不使用專案的artifact,第三方jar不要解壓,打包進zip檔案的lib目錄 --> <useProjectArtifact>false</useProjectArtifact> <outputDirectory>lib</outputDirectory> <unpack>false</unpack> </dependencySet> </dependencySets> <fileSets> <!-- 把專案相關的說明檔案,打包進zip檔案的根目錄 --> <fileSet> <directory>${project.basedir}</directory> <outputDirectory>/</outputDirectory> <includes> <include>README*</include> <include>LICENSE*</include> <include>NOTICE*</include> </includes> </fileSet> <!-- 把專案的配置檔案,打包進zip檔案的config目錄 --> <fileSet> <directory>${project.basedir}/src/main/resources</directory> <outputDirectory>/</outputDirectory> <includes> <include>**/*</include> <include>*.xml</include> <include>*.properties</include> <include>*.yml</include> <include>*.key</include> </includes> </fileSet> <!-- 把專案的指令碼檔案目錄( src/main/scripts )中的啟動指令碼檔案,打包進zip檔案的跟目錄 --> <fileSet> <directory>${project.build.scriptSourceDirectory}</directory> <outputDirectory></outputDirectory> <includes> <include>startup.*</include> </includes> </fileSet> <!-- 把專案自己編譯出來的jar檔案,打包進zip檔案的根目錄 --> <fileSet> <directory>${project.build.directory}</directory> <outputDirectory></outputDirectory> <includes> <include>*.jar</include> </includes> </fileSet> </fileSets> </assembly>
第二步,在pom.xml檔案中新增
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix>
使用mvn clean 清空target 然後使用mvn package<!-- 這裡需要指定main方法的所在的類 --> <mainClass>server.BasicMicroServiceApplication</mainClass> </manifest> </archive> <excludes> <exclude>${project.basedir}/xml/*</exclude> </excludes> </configuration> </plugin> <!-- The configuration of maven-assembly-plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <!-- The configuration of the plugin --> <configuration> <!-- Specifies the configuration file of the assembly plugin --> <descriptors> <descriptor>conf/package.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
最終生成的目錄在target下:如下