国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

java - spring boot多模塊項(xiàng)目如打包?

瀏覽:127日期:2023-11-16 09:15:45

問題描述

我構(gòu)建了一個(gè)簡單的多模塊的項(xiàng)目: 結(jié)構(gòu):java - spring boot多模塊項(xiàng)目如打包?

外層pom.xml如下

<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><groupId>com.scum</groupId><artifactId>demo-package</artifactId><version>1.0-SNAPSHOT</version><packaging>pom</packaging><modules> <module>demo-controller</module> <module>demo-service</module></modules><build> <plugins><plugin> <!-- The plugin rewrites your manifest --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId><configuration><!-- 指定該Main Class為全局的唯一入口 --> <mainClass>com.example.demo.DemoControllerApplication</mainClass> <layout>ZIP</layout></configuration><executions> <execution><goals> <goal>repackage</goal><!--可以把依賴的包都打包到生成的Jar包中--></goals><!--可以生成不含依賴包的不可執(zhí)行Jar包--><!-- configuration> <classifier>exec</classifier></configuration> --> </execution></executions> </plugin></plugins>

</build>

</project>

`web pom文件`<?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><groupId>com.example</groupId><artifactId>demo-controller</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>demo-controller</name><description>Demo project for Spring Boot</description><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --></parent><properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <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.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin> </plugins></build>

</project>`

能運(yùn)行 打包報(bào)IndexService 不存在

package com.example.demo;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@SpringBootApplication@Controllerpublic class DemoControllerApplication { @Autowired private IndexService indexService; public static void main(String[] args) {SpringApplication.run(DemoControllerApplication.class, args); } @RequestMapping(value = '') @ResponseBody public String index(){return indexService.Index(); }}

問題解答

回答1:

這不是Spring-boot的問題,這是Maven依賴的問題

假設(shè)我有一個(gè)maven工程是醬紫的

尖括號是工程類型,前面是工程層級

iot-cloud<pom>

iot-http<jar>iot-mqtt<jar>iot-oauth<jar>iot-sql-service<jar>iot-restful<war>

iot-cloud總工程下有5個(gè)子工程,其中iot-restful是入口工程,也就是Spring-boot的啟動(dòng)工程,它依賴其他四個(gè)工程來提供服務(wù),那么你就在iot-resutful中引入其它四個(gè)作為dependency,然后maven install就好了

當(dāng)然啦,測試用例不打包,配置文件引入優(yōu)先級還是要考慮的

iot-restful的pom.xml<dependencies><dependency> <groupId>pri.somnus</groupId> <artifactId>iot-http</artifactId> <version>0.0.1-SNAPSHOT</version></dependency><dependency> <groupId>pri.somnus</groupId> <artifactId>iot-http</artifactId> <version>0.0.1-SNAPSHOT</version></dependency><dependency> <groupId>pri.somnus</groupId> <artifactId>iot-mqtt</artifactId> <version>0.0.1-SNAPSHOT</version></dependency><dependency> <groupId>pri.somnus</groupId> <artifactId>iot-oauth</artifactId> <version>0.0.1-SNAPSHOT</version></dependency><dependency> <groupId>pri.somnus</groupId> <artifactId>iot-sql-service</artifactId> <version>0.0.1-SNAPSHOT</version></dependency> </dependencies>

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 湖北省| 沙湾县| 大足县| 清丰县| 伊金霍洛旗| 定兴县| 包头市| 邓州市| 屏东市| 永定县| 新田县| 凤山市| 渭源县| 柳河县| 舒城县| 安溪县| 茶陵县| 湖南省| 喜德县| 广东省| 常山县| 广丰县| 浦东新区| 鄂州市| 吴江市| 麻城市| 柳州市| 安图县| 香格里拉县| 黔江区| 敖汉旗| 南江县| 巴马| 社旗县| 石渠县| 宁陵县| 偏关县| 敦煌市| 阿图什市| 绥化市| 永城市|