"springboot结合maven实现多模块打包"的步骤如下:
- 创建父项目
首先要创建一个父项目,作为多模块项目的管理者。在父项目的pom中引入多个子项目,并且添加<modules>
标签,用于指定子项目的路径。
- 创建子项目
创建子项目时,需要在子项目的pom.xml中继承父项目(<parent>
标签),同时需要指定打包方式,如:jar、war等。
子项目的依赖需要在子项目的pom.xml中添加,如果需要使用其他的模块或者库(如:mybatis、JUnit等),需要在pom.xml文件中添加对应的依赖。
- 配置打包
在父项目的pom中配置多模块的打包方式,一般使用<packaging>pom</packaging>
,然后在各个子项目中指定打包方式,如:<packaging>jar</packaging>
。
在父项目的pom中配置<modules>
标签,用于指定哪些模块需要打包,省略则默认打包所有子模块。
- 打包测试
在项目根目录下执行: mvn clean package
进行打包操作,如果存在多个模块,会在每个模块的target目录下生成相应的jar或war文件。
在打包生成的jar文件目录下,使用命令java -jar xxx.jar
运行项目进行测试。在浏览器中访问项目页面,确认项目正常运行。
举两个例子:
- 示例1-创建父项目
注:该示例中使用了springboot版本2.3.3.RELEASE,如果你不想使用最新的版本,请修改其版本号。
- 创建一个名为
springboot-maven-demo
的空项目或文件夹,然后执行以下命令创建一个父项目:
$ cd springboot-maven-demo
$ mkdir parent
$ cd parent/
$ mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=springboot-maven-demo-parent \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false \
-Dversion=1.0.0-SNAPSHOT
- 添加springboot-parent的依赖,修改parent目录下的pom.xml文件:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
-
示例2-创建子项目
-
创建一个名为
sprintboot-maven-demo
的空项目,然后执行以下命令创建一个启动类:
$ cd springboot-maven-demo
$ mkdir controller
$ cd controller/
$ touch HelloWorldController.java
- 在HelloWorldController.java中编写代码:
@RestController
public class HelloWorldController {
@RequestMapping(path = "/", method = RequestMethod.GET)
public String helloWorld() {
return "Hello World";
}
}
- 在
controller
目录下新建一个springboot-maven-demo
的子模块:
$ cd ..
$ mkdir springboot-maven-demo
$ cd springboot-maven-demo/
$ mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=springboot-maven-demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false \
-Dversion=1.0.0-SNAPSHOT \
-Dpackage=com.example.springbootmvn.demo
- 在子模块下的
pom.xml
文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 在子模块中添加一个名为
Application.java
的类:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 最后,在父项目的
pom.xml
文件中添加以下配置:
<modules>
<module>controller</module>
<module>springboot-maven-demo</module>
</modules>
- 在根目录下执行命令
mvn clean package
进行打包操作,如果存在多个模块,会在每个模块的target目录下生成相应的jar文件。
以上就是"springboot结合maven实现多模块打包"的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot结合maven实现多模块打包 - Python技术站