我有一个具有以下结构的多模块maven项目:
现在我创建了一个应该生成源的maven插件。我已将插件添加到子模块2的pom中。此插件配置依赖于“子模块1”。因此,如果我现在在“sub-module2”上调用“mvn clean compile”,插件将通过“sub-module1”的信息生成源代码。但是,如果我现在在Root项目上调用“mvn clean compile”,则不会生成源。插件被执行,但它接口就像没有将插件依赖到子模块1添加到类路径中:/ ...有谁知道问题出在哪里?这是一个maven bug吗?
编辑:
这是我自己编写的一个插件...它用于通过子模块1的一些xml文件生成flex源文件。该插件在“生成源”阶段运行。这是插件在pom中配置的方式:
<plugin>
<groupId>xxx</groupId>
<artifactId>code-generator-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Generate by default only classes for our metadata -->
<catalogs>
<catalog>/xxx/.*</catalog>
</catalogs>
<!-- Generated files will be placed directly in the source folder -->
<outputFolder>src/main/flex</outputFolder>
</configuration>
<dependencies>
<!-- Don't forgot this dependency to the API project -->
<dependency>
<groupId>xxx</groupId>
<artifactId>api</artifactId>
<!-- We have to put version here because dependencyManagement -->
<!-- doesn't work for plugin dependencies -->
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
这是在sub-module2的pom中定义的插件...对artifactId“api”的依赖是我在帖子上描述的“sub-module1”
答案 0 :(得分:0)
在评论中回答:
哦,天啊......我浪费了3个小时才发现问题......一切都好 工作良好。问题是工作目录/和相关性 路径。如果我在子模块上调用mvn clean编译,那一切都是 在正确的地方生成...如果我在根模块上调用它 生成int&#34; Root / src / main / flex的源...&#34;代替 &#34;根/子模块2 / SRC /主/柔性....&#34; ...抱歉浪费你的时间 :/ ...我必须添加maven基目录来放置文件 正确的地方...... - Michael Jul 14&#39; 11 at 13:44