Java Maven:创建包含站点的分发程序集(多模块)
我正在使用maven assembly插件为我的多模块项目创建一个分发程序集(格式为“dir”)。该项目如下所示:Java Maven:创建包含站点的分发程序集(多模块),java,maven,maven-assembly-plugin,multi-module,maven-site-plugin,Java,Maven,Maven Assembly Plugin,Multi Module,Maven Site Plugin,我正在使用maven assembly插件为我的多模块项目创建一个分发程序集(格式为“dir”)。该项目如下所示: + my-project +-- my-child-project-1 +-- my-child-project-2 子项目继承自my projectmyproject是一个聚合,即在-部分定义子项目 程序集包含工件、源等。我需要如何设置项目以包含站点 myproject站点到子模块的链接必须起作用。据我所知,这些链接在部署之前不会工作。因此,我想我必须首先分期部署站
+ my-project
+-- my-child-project-1
+-- my-child-project-2
子项目继承自my project
myproject
是一个聚合,即在
-部分定义子项目
程序集包含工件、源等。我需要如何设置项目以包含站点
myproject
站点到子模块的链接必须起作用。据我所知,这些链接在部署之前不会工作。因此,我想我必须首先分期部署站点(?)。根据,只有在创建站点后才能进行登台:
此目标要求站点已经使用站点目标生成,例如通过调用mvn站点生成
我怎样才能做到这一点
有没有一种方法可以用一个
mvn包来组装所有东西?我的汇编描述符应该是什么样子的?我不知道这是否是一个好的解决方案,但没有其他答案,因此我提出了以下建议:
1.将程序集内部版本移动到单独的子模块中
重要提示:我不知道这是否必要,但是如果在根项目中配置了程序集,我没有时间检查它是否也可以工作。否则,您必须在步骤2中使用不同的分类器在myproject
中定义一个依赖项,以myproject
本身,我认为这是行不通的。如果我错了,请随意编辑这个答案
+ my-project
+-- my-child-project-1
+-- my-child-project-2
+-- my-project-build
2.使用构建项目中的分类器site
定义所有模块的依赖项
4.在根项目中定义site:jar
目标
默认情况下,此目标在包
阶段执行,并生成“站点”附件(例如my-parent-1.0.0-site.jar
),这些附件在步骤2中定义为依赖项,在步骤3中解包:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven站点插件
3.4
罐子
5.运行mvn包
生成程序集
结果是程序集中的子目录“站点”包含完整的站点和工作链接。我不知道这是否是一个好的解决方案,但没有其他答案,因此我提出了以下建议:
1.将程序集内部版本移动到单独的子模块中
重要提示:我不知道这是否必要,但是如果在根项目中配置了程序集,我没有时间检查它是否也可以工作。否则,您必须在步骤2中使用不同的分类器在myproject
中定义一个依赖项,以myproject
本身,我认为这是行不通的。如果我错了,请随意编辑这个答案
+ my-project
+-- my-child-project-1
+-- my-child-project-2
+-- my-project-build
2.使用构建项目中的分类器site
定义所有模块的依赖项
4.在根项目中定义site:jar
目标
默认情况下,此目标在包
阶段执行,并生成“站点”附件(例如my-parent-1.0.0-site.jar
),这些附件在步骤2中定义为依赖项,在步骤3中解包:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven站点插件
3.4
罐子
5.运行mvn包
生成程序集
结果是程序集中的一个子目录“站点”,包含具有工作链接的完整站点