Java 使用pomen的Maven包括

Java 使用pomen的Maven包括,java,maven,Java,Maven,我对Maven是一个全新的婴儿,我被困在了Maven里 有一个元素pomclude,用于包含另一个POM文件。 当我用命令构建总线核心api时 mvn package -U 它只适用于当前项目。在构建过程中不会调用其他函数 总线核心api中的pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema

我对Maven是一个全新的婴儿,我被困在了Maven里

有一个元素pomclude,用于包含另一个POM文件。 当我用命令构建总线核心api时

mvn package -U
它只适用于当前项目。在构建过程中不会调用其他函数

总线核心api中的pom.xml:

<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>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.6</version>
  <configuration>
     <debug>true</debug>
     <pomIncludes>
        <pomInclude>app-web-ui/pom.xml</pomInclude>
        <pomInclude>app-desktop-ui/pom.xml</pomInclude> 
     </pomIncludes>
  </configuration>
  <executions>
     <execution>
        <id>build</id>
        <goals>
           <goal>run</goal>
        </goals>
     </execution>
  </executions>
  </plugin>
  </plugins>
  </build>
  </project>

4.0.0
总线核心api
总线核心api
1.0-快照
罐子
maven调用器插件
1.6
真的
应用程序web ui/pom.xml
应用程序桌面ui/pom.xml
建造
跑
部分输出:

[INFO]将1个源文件编译为c:\apache-maven-3.3.3\bus core api\target\clas
ses

其他人失踪了。你能告诉我为什么吗?

是一个配置。引用文档,此参数用于:

包括用于在集成测试目录中搜索项目的模式

这意味着在项目的集成测试期间,Maven将同时运行
app web ui
app desktop ui
项目,并将结果输出到命令行

该插件的目标默认绑定到Maven阶段的集成测试。因为您没有指定阶段,所以它保留默认值。查看,您可以看到
集成测试
阶段在
阶段之后。因此,当您运行
mvn包
时,Maven不会执行
集成测试
阶段,因此永远不会调用插件

如果要调用该阶段,可以运行
mvn安装
mvn验证
(或
集成测试之后的任何阶段,包括该阶段)


另一个解决方案是在
maven invoker插件的配置中指定另一个阶段(比如
test
),但我建议您保留默认值。

为什么您要使用这样一个古老的maven invoker插件版本(2.0.0)是当前版本…好的,我将尝试更改为2.0。缺少包含模块“应用程序web ui”和应用程序桌面ui的编译。根据教程,应该根据指定的POM调用和编译它们。这就是问题所在。我刚刚收到bus core api文件夹中的编译。有什么想法吗?我调用了两个阶段,没有做任何更改。输出几乎相同。未编译(调用)包含的模块。缩短输出:[INFO]正在将1个源文件编译为c:\apache-maven-3.3.3\bus core api\target\clas ses我可能会错过要编译的文件夹中的某些内容吗?[信息]未选择要执行的项目。我只定义了pom.xml文件,没有java源代码,等等。。这可能是原因吗?