Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 反应堆多模块建造的包装?_Maven_Build_Module - Fatal编程技术网

Maven 反应堆多模块建造的包装?

Maven 反应堆多模块建造的包装?,maven,build,module,Maven,Build,Module,我想我犯了一些错误,没有找到基本哲学问题的答案: 多模块maven项目反应堆建造模块的正确包装是什么 我使用的是pom,但我觉得它不正确,因为pom工件没有人使用: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 htt

我想我犯了一些错误,没有找到基本哲学问题的答案:

多模块maven项目反应堆建造模块的正确包装是什么

我使用的是
pom
,但我觉得它不正确,因为pom工件没有人使用:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

    <groupId>com.example.project</groupId>
    <artifactId>reactor-build</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <packaging>pom</packaging>

    <modules>
        <module>../config</module>
        <module>../module1</module>
        <module>../module2</module>
    </modules>

</project>  

4.0.0
com.example.project
反应堆建造
1.0.0-SNAPSHOT
聚甲醛
../config
../module1
../module2

打包
pom
是聚合器项目唯一允许的打包,也就是说,与您拥有的项目一样,也适用于父项目。发件人:

对于父项目和聚合(多模块)项目,
打包
类型必须是
pom

使用
jar
(或保留默认值)时尝试使用不同包装的任何行为,例如以下行为:

[错误]“打包”的值为“jar”无效。聚合器项目需要“pom”作为包装。

pom包装正确。但是基于您在模块列表中使用的内容,如
。/module1
等。表明您使用的结构可能是错误的…因为您的父目录结构不在目录结构的根目录下…这是一个仅限pom的项目,因此
pom
打包看起来不错。无论如何,没有其他内置的包装类型更适合。@khmarbaise,“反应堆”项目不必是父母,所以我必须在我的回购中简单地生活在这样的“虚拟”工件中?@9ilsdx9rvj0lo是的。pom包装也意味着“不产生主要工件”。它们在这里帮助构建其他项目,或者让它们在父项目的情况下继承构建元素。但是POM在存储库中作为工件可用,并且可以用作父POM,例如。@9ilsdx9rvj0lo Maven意义上的项目实际上就是POM文件。虽然我们通常处理产生主要JAR WAR工件以及Maven POM文件的JAR或WAR项目,但聚合器项目只是POM文件。它还必须存储在存储库工件中,以便其他项目能够解决它。