我遇到a multi-module project的问题,其中一个模块是基于注释的maven-plugin:https://github.com/fommil/netlib-java/
基本上,mvn compile
第一次失败,然后在我做第二次mvn compile
时成功。
如果我这样做,它也可以正常工作
mvn -pl generator compile
mvn compile
我希望构建能够一次成功,这样我就可以构建和发布所有模块。
答案 0 :(得分:3)
我快速浏览了一下你的项目并发现,“generator”插件是多模块项目的一部分和在这个项目中使用它(具有相同的版本)。这不是合法用途!您必须从反应堆外部提供所有必需的插件!
原因是,maven试图填充反应堆并事先确定所有必需的插件。然后它开始构建。如果生成器插件是项目的一部分,Maven无法执行此操作。
Stephen Connolly在博文中写到:Maven and the "Install" Hack。
HTH,
- 马丁
答案 1 :(得分:0)
(我将此作为答案,因为它不适合评论区域)
我从Github下载了11fe0f5版本,并在父/根文件夹上尝试了mvn clean install,看看会发生什么,我收到了这个错误:
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.444s [INFO] Finished at: Mon Jun 24 20:00:30 BRT 2013 [INFO] Final Memory: 20M/350M [INFO] ------------------------------------------------------------------------ [ERROR] Could not find goal 'interface' in plugin org.netlib:generator:1.0-SNAPSHOT among available goals -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoNotFoundException
这使我质疑接口目标是否真的存在于生成器插件中,以及是否正在生成目标描述符。 所以看看生成器模块pom.xml我找不到任何maven-plugin配置来生成插件模块,所以我将你的maven-plugin-plugin配置更改为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<configuration>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
</configuration>
<executions>
<execution>
<id>mojo-descriptor</id>
<phase>process-classes</phase>
<goals>
<goal>descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
并且将接口目标添加到生成器插件中,我现在可以从根文件夹安装就好了。
mvn clean install partial output:
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ netlib --- [INFO] Building jar: C:\ebook\netlib-java-11fe0f502496276be5536003eaacbde363317c b1\netlib\target\netlib-1.0-SNAPSHOT.jar [INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ netlib --- [INFO] Installing C:\ebook\netlib-java-11fe0f502496276be5536003eaacbde363317cb1\ netlib\target\netlib-1.0-SNAPSHOT.jar to C:\Users\oltra01\.m2\repository\org\net lib\netlib\1.0-SNAPSHOT\netlib-1.0-SNAPSHOT.jar [INFO] Installing C:\ebook\netlib-java-11fe0f502496276be5536003eaacbde363317cb1\ netlib\pom.xml to C:\Users\oltra01\.m2\repository\org\netlib\netlib\1.0-SNAPSHOT \netlib-1.0-SNAPSHOT.pom [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] parent ............................................ SUCCESS [0.478s] [INFO] generator ......................................... SUCCESS [6.172s] [INFO] netlib ............................................ SUCCESS [1:05.310s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:12.105s [INFO] Finished at: Mon Jun 24 19:55:08 BRT 2013 [INFO] Final Memory: 27M/491M [INFO] ------------------------------------------------------------------------
您使用哪些maven命令/目标来解决问题中的错误?您是否尝试删除整个存储库? (也许你已经安装了一个混乱的发电机版本)