从0到1搭建一个springboot聚合工程

1、生成一个Springboot工程

方式一

1、Idea安装插件生成
从0到1搭建一个springboot聚合工程_第1张图片
2、项目类型选pom工程(因为是聚合工程)从0到1搭建一个springboot聚合工程_第2张图片3、添加需要的依赖,然后一直下一步
从0到1搭建一个springboot聚合工程_第3张图片

方式二

官网生成,然后参考方式一改造

2、添加聚合子工程

1、项目右键,new一个module
从0到1搭建一个springboot聚合工程_第4张图片2、选择maven工程
从0到1搭建一个springboot聚合工程_第5张图片3、选择父工程
从0到1搭建一个springboot聚合工程_第6张图片

3、关于依赖问题

有上面2步,其实已经就可以了,再创建别的子工程,重复上面的2步即可!
打开父pom,可以看到,父工程中已经有子工程的module了从0到1搭建一个springboot聚合工程_第7张图片但是有个问题,可以看到父工程里有个默认的parent,不想要咋办从0到1搭建一个springboot聚合工程_第8张图片删掉默认parent,并加入如下声明(版本看自己需求而定)

<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.6.6</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

4、关于打包

可以看到,生成的工程,默认build用的是springboot-maven-plugin
从0到1搭建一个springboot聚合工程_第9张图片这会有一个问题,打包的时候,会报错:原因是子工程也是springboot工程,但是没有启动类,每个子工程都添加启动类就不会报错了,但是不优雅,改之,将build换成maven的build即可,如下

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
					<skip>true</skip>
				</configuration>
			</plugin>
		</plugins>
	</build>

然后,在controller入口所在的工程配置build(版本看自己需求而定),如下

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.6.6</version>
            <configuration>
                <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
                <warName>${project.artifactId}</warName>
            </configuration>
        </plugin>
    </plugins>
    <finalName>demo</finalName>
</build>

5、关于仓库配置

1、可以修改settings配置文件,如下(阿里云仓库)

<mirrors>
	<mirror>
	    <id>alimaven</id>
	    <name>aliyun maven</name>
	    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	    <mirrorOf>central</mirrorOf>       
	</mirror>
</mirrors>

2、可以在pom文件中配置,如下(阿里云仓库)

<repositories>
	<repository>
		<id>public</id>
		<name>aliyun nexus</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<releases>
			<enabled>true</enabled>
		</releases>
	</repository>
</repositories>

7、依赖冲突问题

1、可以用maven helper插件检查下,把冲突的依赖排除掉即可从0到1搭建一个springboot聚合工程_第10张图片2、使用方法,pom->dependencyAnalyzer->conflicts
从0到1搭建一个springboot聚合工程_第11张图片no conflicts代表很棒,没冲突,有冲突右键排除掉即可
从0到1搭建一个springboot聚合工程_第12张图片

6、扩展

搭建完成后,最好还是打包跑一下,因为有遇到过打包没问题,打包好后跑不起来的情况,小心总没错!

你可能感兴趣的:(后端,spring,boot,intellij-idea,java,聚合工程,maven,helper使用)