在Maven中有一个空的父项目是最佳实践吗?

问题描述 投票:0回答:2

我对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>
...

我现在的问题是,在您的父项目中包含源代码是最佳实践吗?还是将其保留为空以便仅用于插件/依赖项管理等更好?

maven pom.xml parent-pom
2个回答
1
投票

不要将源代码放入您的父POM项目中。它违反了预期,没有真正的优势。将代码放入模块中。跟随@khmarbaise的评论。


-2
投票

如果您需要整个公司的模板或类似的东西,那么只需创建一个父pom就可以了(您只需要一个pom文件,不需要创建一个空项目)。在这里,您可以配置存储库,所需的插件等。

可能是这样

parent-pom.xml (for the whole company, where you configure common stuff, don't put code here)
|_ projectA-parent-pom.xml (team A, doing project A)
|    |_ projectA-child-pom-1.xml
|    |_ projectA-child-pom-2.xml
|_ projectB-parent-pom.xml (team B, doing project B)
     |_ projectB-child-pom-1.xml
     |_ projectB-child-pom-2.xml
     |_ projectB-child-pom-3.xml

编辑:我的回答不好。所以我更新了。

© www.soinside.com 2019 - 2024. All rights reserved.