現在有一個項目結構如下:
父項目project
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxx.xxx</groupId> <artifactId>project</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>Brussels-SR4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <modules> <module>../projectA</module> <module>../projectB</module> <module>../projectC</module> </modules>
子項目projectA繼承自父項目project
<modelVersion>4.0.0</modelVersion>
<artifactId>projectA</artifactId>
<parent>
<groupId>com.xxx.xxx</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../project</relativePath>
</parent>
<dependencies>
... ...
</dependencies>
子項目projectB繼承自父項目project,同時引入了projectA做為依賴
<modelVersion>4.0.0</modelVersion>
<artifactId>projectB</artifactId>
<parent>
<groupId>com.xxx.xxx</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../project</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>projectA</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
... ...
</dependencies>
子項目projectC繼承自父項目project,同時引入了projectB做為依賴
<modelVersion>4.0.0</modelVersion>
<artifactId>projectC</artifactId>
<parent>
<groupId>com.xxx.xxx</groupId>
<artifactId>project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../project</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>com.xxx.xxx</groupId>
<artifactId>projectB</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
... ...
</dependencies>
現在要打包,直接在project上執行clean compile package打出的包無法運行,需要修改projectC(客戶寫的源碼)的pom.xml文件
... ...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.3.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<finalName>demo</finalName>
</build>
然后在project上執行上述命令,打出的jar名字是demo.jar,運行:java -jar demo.jar即可