2013-07-24 54 views
3

問題我正在解決:我需要Protobuf的Maven插件並從我的谷歌搜索中得出結論,maven-protoc-plugin對於時刻。這個插件最近的活動是2013年3月,這也是非常令人鼓舞(鏈接:https://code.google.com/p/protobuf/issues/detail?id=476pom.xml中的maven-protoc-plugin配置不正確

我路障:我不能讓插件工作。具體來說,我無法獲得插件下載。 我在Eclipse中使用Maven [Eclipse Java EE IDE for Web Developers,版本:Juno Service Release 1 Build ID:20120920-0800] 我已經將我已經添加到我的pom.xml下面的配置的相關片段。有多個參考文獻讓我知道這個配置,但我不被允許在這裏發佈它們。我曾試圖引用它們以某種方式(對於完整的信息),並與他們每個人的注意問題:

  • 註釋1:在GitHub(github.com),有一個位置
    謝爾蓋 - ivanovSLASHmaven -protoc-插件 - 這具有這樣的構型
    爲插件庫但在此提到的資源的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 - 此URL的一個片段 它顯示了maven-protoc-plugin,
    maven-compiler-plugin和protobuf-java依賴關係的配置。它不是
    有一個插件庫配置。

我的XML是引擎收錄在http://pastebin.com/VPyH3CPr

我試圖通過Eclipse的運行配置下面的命令運行該插件目標: 目標:Maven的protoc-插件: protobufcompile 簡介:開發

我得到以下信息: [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'的插件[org.apache.maven.plugins,org.codehaus.mojo] [local(C:\ Users \ .m2 \ repository),all-repos(/ artifactory/all-repos)] - > [Help 1] 其他一些錯誤在這裏。 [錯誤] [錯誤]有關錯誤和可能的解決方案的更多信息,請閱讀以下條款: [錯誤] [說明1]網址總彙/顯示/ MAVEN/NoPluginFoundForPrefixException

問題:

  1. 我可以得到一個完整的XML片段,需要將其添加到POM中以使maven-protoc-plugin工作嗎?
  2. 我列出的引用中的插件庫位置似乎是死路一條。那麼,我可以從插件中得到什麼是有效的地方?
  3. 或者,有人可以建議我的XML有什麼問題嗎?錯誤輸出顯示我的配置在插件解析期間沒有效果。
  4. 我對Maven相對來說比較新,因此這個新手問題類型:我可以像我做的那樣爲插件定義目標名稱(protobufcompile)還是Maven插件帶有我無法更改的預定義名稱?
  5. 與本條目中的主要問題相切:我的.m2目錄是在創建Maven項目時創建的,其中的所有內容都自動填充。我的問題是:Maven在settings.xml文件中從哪裏獲取存儲庫位置?

回答

4

如果你想伊萬諾夫forkmaven-protoc-plugin最初是由大衛·特洛特維護的,只要下載一個伊萬諾夫的relases0.3.1並手動安裝。

cd maven-protoc-plugin-maven-protoc-plugin-0.3.1 
mvn clean install 

然後只要按照網站usage guide設置您的項目。

雖然我建議你堅持與伊萬諾夫的叉;如果你不需要工具鏈支持或其他貢獻的功能,Trott的repo仍然在運行。

+0

謝謝,我現在可以使用插件了。 – utester

0

關於問題3-5 ...

3.或者,可有人認爲有什麼不對我的XML?錯誤輸出顯示我的配置在插件解析期間沒有效果。

根據您提供的xml,當您嘗試運行生命週期時,無法解析依賴關係會導致錯誤。此外,您的目標之一會導致錯誤,請參閱下文。

4.我對Maven相對來說比較新,因此這個新手問題類型:我可以像我做的那樣爲插件定義目標名稱(protobufcompile)還是Maven插件帶有我不能定義的預定義名稱更改?

不,你不能。目標是由您使用的插件定義的。相由Maven的定義,並且在build lifecycle

5.切圓基本上只是不同的地方與在此項目的主要問題:當我創建了一個Maven項目和我目錄的.m2創建一切都在它是自動填充。我的問題是:Maven在settings.xml文件中從哪裏獲取存儲庫位置?

有一些中央庫,我不知道我的頭頂,但他們基本上都擁有所有的插件。

您也可以擁有私人存儲庫,這對於單個企業來說是很常見的。