1. 程式人生 > >Maven構建多模組Springboot專案

Maven構建多模組Springboot專案

1 建立空專案 (groupId=com.boomsecret artifactId=boomsecret-java)

mvn archetype:generate -DgroupId=com.boomsecret -DartifactId=boomsecret-java -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

刪除src pom.xml修改<packaging>jar</packaging>為<packaging>pom</packaging>

2 進入boomsecret-java目錄 建立公共模組common (groupId=com.boomsecret artifactId=common)

mvn archetype:generate -DgroupId=com.boomsecret -DartifactId=common -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

刪除groupId version 新增<packaging>jar</packaging>

3 建立持久層模組dao (groupId=com.boomsecret artifactId=dao)

mvn archetype:generate -DgroupId=com.boomsecret -DartifactId=dao -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

刪除groupId version 新增<packaging>jar</packaging>

並引入公共模組common
<dependency>
    <groupId>com.boomsecret</groupId>
    <artifactId>common</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

4 建立業務層模組service (groupId=com.boomsecret artifactId=service)

mvn archetype:generate -DgroupId=boonsecret-java -DartifactId=service -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

刪除groupId version 新增<packaging>jar</packaging>

並引入公共模組common
<dependency>
    <groupId>com.boomsecret</groupId>
    <artifactId>dao</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

5 建立web模組admin (groupId=com.boomsecret artifactId=admin)

mvn archetype:generate -DgroupId=com.boomsecret -DartifactId=admin -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

刪除groupId version
<dependency>
    <groupId>com.boomsecret</groupId>
    <artifactId>service</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

6.結構已經基本搭建完成(如需要新增其他模組 按照上面方式新增)

boomsecret-java
    common          公共模組
    dao             持久層
    service         業務層
    admin           web層

注意:test一些程式碼和Maven可以自己刪了

6 將admin改造成springboot專案

boomsecret-java下pom.xml新增如下配置
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
</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>

admin下pom.xml新增如下配置
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency> 
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

建立AdminApplication程式碼如下
@SpringBootApplication
public class AdminApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(AdminApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(AdminApplication.class);
    }
}

7.將程式碼提交到碼雲(自己碼雲先建立一個專案)

git init
git remote add origin [email protected]:jsjack_wang/boomsecrert-java.git
git pull origin master
touch .gitignore (忽略不必要的檔案)
    *.iml
    .idea
    common/target
    dao/target
    service/target
    admin/target
git add .
git commit -m "init project"
git push origin master

原始碼 https://gitee.com/jsjack_wang/boomsecrert-java