【发布时间】:2020-04-06 11:34:57
【问题描述】:
我对 Maven 中的多模块项目还很陌生,我刚刚了解到在创建父项目时,您基本上只需要将包装更改为 'pom' -> <packaging>pom</packaging>。鉴于此,如果您在父项目上运行 mvn package,如果您有源代码,它将不会生成 jar 文件。
我找到了一种方法,通过使用插件,即使在执行父 pom 时也可以生成 jar 文件:
...
<packaging>pom</packaging>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>my-execution-id</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
我现在的问题是,在您的父项目中包含源代码是最佳做法吗?还是将其保留为空并仅用于插件/依赖项管理等更好?
【问题讨论】:
-
在这种情况下,我宁愿查看 github 上流行的 java 存储库来检查它们的运行情况。例如,。 github.com/spring-projects/spring-boot
-
首先,如果您的包装是 pom,请不要尝试在该项目中获取代码,因为它的目的是没有代码..这违反了约定优于配置的想法..如果您有代码要编译/测试/包一个多模块项目有一个具有包装
jar并且包含代码并且具有前面定义的父级的子级...
标签: maven pom.xml parent-pom