一. 項目介紹
我這個SpringBoot項目分爲2個Jar項目:一個底層MT項目(包含公共的Api層,Service層),一個上層Web項目,具體如下截圖:
二. 各層POM文件配置如下
api層的pom.xml打包配置(這裏用的是本地的Maven倉庫):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
</plugins>
</build>
<!-- api的pom裏面很乾淨,裏面不應該依賴第三方包-->
<distributionManagement>
<!-- 快照版本 -->
<snapshotRepository>
<id>public-snapshots</id>
<name>robinson Repository</name>
<url>/Users/sunww/Documents/maven/rep/</url>
</snapshotRepository>
<!-- 發佈版本 -->
<repository>
<id>public-releases</id>
<name>robinson Repository</name>
<url>/Users/sunww/Documents/maven/rep/</url>
</repository>
</distributionManagement>
service層的pom.xml打包配置:
<build>
<plugins>
<!--解決SpringBoot打包成jar後運行提示沒有主清單屬性-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
MT層(包含Api和Service層)的pom.xml 打包配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
</plugins>
</build>
Web層的pom.xml 打包配置:
<build>
<plugins>
<!--解決SpringBoot打包成jar後運行提示沒有主清單屬性-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
三. 打包&運行Jar文件
1. 底層打包&運行
cd 到底層MT,執行命令下面命令
MT層打包: mvn -Dmaven.test.skip=true clean package
運行MT層的Service包:java -jar /Users/sunww/Documents/JAVA/robinson/RobinBoot/RobinBootService/target/robinbootService-0.0.1-SNAPSHOT.jar
2. Web層打包&運行
cd 到底層Web,執行命令下面命令
Web層打包:mvn -Dmaven.test.skip=true clean package
運行Web層的jar包:java -jar /Users/sunww/Documents/JAVA/robinson/RobinBootWeb/target/robinBootWeb-0.0.1-SNAPSHOT.jar