多模块 Maven 项目在 Eclipse 中持续构建
Multi-module Maven project builds continuously in Eclipse
我有许多多模块 Maven 项目,所有这些项目都是连续构建的。这是一个众所周知的问题,但 none 的建议解决方案有所帮助。
- 关闭
Project->Build Automatically
、Project->Clean...
- 检查
.project
是否有多个 maven2Builder
条目
项目结构为
parent
+--model (jar)
+--client (jar)
+--restservice (war)
client
和 restservice
都依赖于 model
。这两个模块持续构建,但据我所知,它们不会导致 model
模块发生任何变化。
有什么办法可以查明是什么原因造成的吗?是否有任何跟踪可以表明触发器是什么?
更新
- 我已经在终端中执行了父 POM,并且运行成功
- Maven 工作区视图 显示所有模块都在持续构建中。父级没有
execution
但有一个 delta
列出了所有子模块的工件
更新
我在 github https://github.com/pramsden/openapiproblem 上创建了一个简单的示例,它演示了无休止的构建循环问题。
问题似乎是由模块中的openapi代码生成引起的。父级检测到更改并触发重建。
我找到了这个答案 并在父 POM 中添加了以下内容:
<build>
<pluginManagement>
<plugins>
<!-- prevents generated code from triggering a rebuild -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<versionRange>[0.0,)</versionRange>
<goals>
<goal>generate</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Maven 构建只执行一次,不会执行进一步的自动构建。
我有许多多模块 Maven 项目,所有这些项目都是连续构建的。这是一个众所周知的问题,但 none 的建议解决方案有所帮助。
- 关闭
Project->Build Automatically
、Project->Clean...
- 检查
.project
是否有多个maven2Builder
条目
项目结构为
parent
+--model (jar)
+--client (jar)
+--restservice (war)
client
和 restservice
都依赖于 model
。这两个模块持续构建,但据我所知,它们不会导致 model
模块发生任何变化。
有什么办法可以查明是什么原因造成的吗?是否有任何跟踪可以表明触发器是什么?
更新
- 我已经在终端中执行了父 POM,并且运行成功
- Maven 工作区视图 显示所有模块都在持续构建中。父级没有
execution
但有一个delta
列出了所有子模块的工件
更新
我在 github https://github.com/pramsden/openapiproblem 上创建了一个简单的示例,它演示了无休止的构建循环问题。
问题似乎是由模块中的openapi代码生成引起的。父级检测到更改并触发重建。
我找到了这个答案 并在父 POM 中添加了以下内容:
<build>
<pluginManagement>
<plugins>
<!-- prevents generated code from triggering a rebuild -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<versionRange>[0.0,)</versionRange>
<goals>
<goal>generate</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Maven 构建只执行一次,不会执行进一步的自动构建。