我的意思是你下载的maven和从一个eclipse嵌入的eclipse插件手动安装/运行之间有什么区别吗?我问的原因是,我的项目在eclipse中成功构建,但是从控制台mvn install
构建时出现这个恼人的错误,这里是错误
原因:找不到父母: net.oauth:oauth-parent for pro 芯....
我可以通过手动删除oauth pom和另一个pom中的父标签来解决这个问题..它会成功构建,我还能做些什么来解决这个问题吗?控制台有什么问题?当构建项目的时间到来时,它将来自控制台,而不是来自eclipse。谢谢
修改
有没有办法说maven ..好吧只是忽略那些错误并继续构建,因为这显然是eclipse正在做的事情,因为当构建成功使用eclipse时,存储库中没有parent-oauth-project
。
答案 0 :(得分:2)
虽然可以添加外部 maven安装,从而在Eclipse和命令行中使用相同版本的进行构建,但可能存在差异< em> for dependency resolution ,如下面的注释中所述:
alt text http://img401.imageshack.us/img401/2455/screenshot008i.png
所以,如果版本不同,可以想象在行为上会略有不同(但说实话我会非常惊讶)。
这里的问题是,由于您没有发布您的POM(或至少是相关部分,即“罪魁祸首”依赖关系及其来自的存储库),因此无法重现您的问题。
所以,请更新你的问题:)
答案 1 :(得分:0)
Eclipse插件将解析工作区中的依赖项,因此如果工作区中有一个Maven ID为net.oauth:oauth-parent
的项目,该插件将使用它。
命令行Maven只搜索本地存储库。
您的错误的解决方案是在mvn install
项目中运行oauth-parent
以在本地存储库中安装工件。请注意,每次更改父项目时都必须执行此操作!
答案 2 :(得分:0)
他们可以是不同的。您可以使用--version目标验证运行的maven版本。