1、关于Pom基础的group问题
问题描述:
新建了一个多模块项目,父模块继承自spring-boot-starter-parent,父模块中未指定group.id,导致在子模块一直报找不到父模块的错误。
解决方案:
在父模块中加入group.id配置。
问题原因分析:
如果模块中不指定group.id属性,默认模块继承其父模块的group.id属性。像此种情况,我新建的父pom和springboot的group不属于同一group,但在子模块中指定了不同于springboot的group.id,导致报不能解析父模块的pom。
2、Maven的顶级POM
https://maven.apache.org/ref/3.6.3/maven-model-builder/super-pom.html
<project>
<modelVersion>4.0.0</modelVersion>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
<pluginManagement>
<!-- NOTE: These plugins will be removed from future versions of the super POM -->
<!-- They are kept for the moment as they are very unlikely to conflict with lifecycle mappings (MNG-4453) -->
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-5</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<outputDirectory>${project.build.directory}/site</outputDirectory>
</reporting>
<profiles>
<!-- NOTE: The release profile will be removed from future versions of the super POM -->
<profile>
<id>release-profile</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<inherited>true</inherited>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<inherited>true</inherited>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
3、Maven的pom继承规则:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
4、Maven的依赖以及依赖域
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
5、Maven项目的标准文件结构
https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
6、Maven的profile
https://maven.apache.org/guides/introduction/introduction-to-profiles.html
7、Maven项目的生命周期
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
8、Maven的setting.xml文件的配置
https://maven.apache.org/settings.html
https://maven.apache.org/guides/mini/guide-mirror-settings.html
9、Repositories和Mirrors的区别
https://maven.apache.org/guides/introduction/introduction-to-repositories.html
https://maven.apache.org/guides/mini/guide-mirror-settings.html
10、别人总结的一些问题,也很好
https://blog.csdn.net/huxiutao/article/details/87835076