我正在解决的问题:我需要一个针对Protobuf的Maven插件,并且从我的谷歌搜索中,我得出结论,maven-protoc-plugin目前拥有最多的思想。此插件的最新活动是在2013年3月,这也非常令人鼓舞(链接:https://code.google.com/p/protobuf/issues/detail?id=476)
我的包版:我无法让插件正常工作。具体来说,我无法下载插件。 我使用Maven和Eclipse [Eclipse Java EE IDE for Web Developers,Version:Juno Service Release 1 构建ID:20120920-0800] 我已经将我添加到我的pom.xml中的配置的相关片段放在下面。有多个引用引导我进行此配置,但我不允许在此处发布它们。我试图以某种方式引用它们(以获取完整信息),并注意到每个问题:
参考1:在github(github.com)上,有一个位置
sergei-ivanovSLASHmaven-protoc-plugin - 这有配置
对于插件存储库,但此资源中提到的URL是
404资源
参考2:github HTTP位置(sergei-ivanov.github.io)有一个HTML 在maven-protoc-pluginSLASHproject-summary.html上有一个文件 下载无效的网址
参考3:github位置(sergei-ivanov.github.io)有另一个HTML
文件位于/maven-protoc-pluginSLASHusage.html - 此网址包含一个代码段
它显示了以下配置:maven-protoc-plugin,
maven-compiler-plugin和protobuf-java依赖。它不是
有一个插件存储库配置。
我的XML位于http://pastebin.com/VPyH3CPr
的pastebin上我试图通过Eclipse Run Configuration使用以下命令在插件中运行目标: 目标:maven-protoc-plugin:protobufcompile 个人资料:dev
我收到以下消息: [INFO]扫描项目...... [警告]缺少com.google.protobuf.tools:maven-protoc-plugin:jar:0.3.1的POM,没有可用的依赖项信息 [警告]无法检索com.google.protobuf.tools:maven-protoc-plugin:0.3.1:插件com.google.protobuf.tools:maven-protoc-plugin:0.3.1或其中一个依赖项的插件描述符无法解决: [错误]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀'maven-protoc-plugin'的插件,可从存储库[local(C:\ Users)获得\ .m2 \ repository),all-repos(/ artifactory / all-repos)] - > [帮助1] 其他一些错误。 [错误] [错误]有关错误和可能解决方案的更多信息,请阅读以下文章: [错误] [帮助1]汇合/显示的URL / MAVEN / NoPluginFoundForPrefixException
问题:
答案 0 :(得分:4)
如果你想要最初由David Trott维护的fork的Sergei Ivanov maven-protoc-plugin,只需下载Ivanov的relases之一,例如0.3.1,然后手动安装。
cd maven-protoc-plugin-maven-protoc-plugin-0.3.1
mvn clean install
然后,只需点击网站usage guide即可设置您的项目。
虽然我建议你坚持使用伊凡诺夫的叉子;如果您不需要工具链支持或其他贡献功能,Trott的repo仍然正常运行。
答案 1 :(得分:0)
关于问题3-5 ......
第3。或者,有人可以建议我的XML有什么问题吗?错误输出显示我的配置在插件解析期间没有效果。
根据您提供的xml,当您尝试运行生命周期时,无法解决依赖关系的事实将导致错误。此外,您的目标之一也会导致错误,请参阅下文。
<强> 4。我对Maven相对较新,因此这个新手类型的问题:我可以像我一样(protobufcompile)定义插件的目标名称,还是Maven插件带有我无法更改的预定义名称? < / p> 不,你不能。目标由您使用的插件定义。阶段由maven定义,基本上只是build lifecycle
中的不同位置<强> 5。与此条目中的主要问题切线相关:我创建Maven项目时创建了我的.m2目录,其中的所有内容都自动填充。我的问题是:Maven从哪个位置获取它在settings.xml文件中配置的存储库位置?
有一些中央存储库,我不知道这些存储库,但它们基本上都可以容纳所有插件。
您还可以拥有个人企业常见的私人存储库。