2012-10-18 81 views
1

每次我使用Github託管的Maven創建新的正確的項目時,我必須查看我自己的舊項目並複製pom文件,或者我去找一個我認爲可以實現的項目一份好工作,並複製那裏的POM文件。然後,我必須去搜索和替換的東西像項目名稱...等現代Maven Pom模板

現在Maven有通過原型解決這一點,但我還沒有看到一個足夠現代,使其:

  • 使用釋放插件並將其部署到SonaType Central Maven reop。
  • 連接到Github上(意爲單片機連接和發佈插件的工作做正確的事)
  • 使所有罐子文物(來源的javadoc,並定期JAR)

我已經考慮做出一些giter8模板,但希望有人已經做了這樣的事情(大多數g8模板是爲sbt)。

+0

不知道你的「連接到Github的」的意思。 –

+0

我的意思是釋放插件與git一起使用。 –

回答

0

事實證明,它不可思議的容易創建自己的maven原型。

  1. 只是做一個通用的項目有東西,你喜歡用
  2. 在項目目錄中運行mvn archetype:create-from-project
  3. 一般來說Maven的猜測正確的事情做變量,但如果沒有你只需編輯Velocity模板。
  4. mvn install
  5. 本地安裝的原型若要使用新的原型:mvn archetype:generate -DarchetypeGroupId=com.mygroup -DarchetypeArtifactId=my-archetype

現在唯一需要注意的是,有沒有我能找到原型系統在網絡上很好的文檔。就像它不清楚你爲Velocity提供哪些變量(雖然其中大多數是顯而易見的)。

http://maven.apache.org/archetype/maven-archetype-plugin/create-from-project-mojo.html

2

您可以看看由Sonatype發佈的parent pom。它旨在用作部署到oss.sonatype.org(可能會也可能不會提升到Maven Central)的項目的父項目。

當啓用sonatype-oss-release配置文件時,它將確保構建源文件和javadoc文件。它還包含一個<scm> pom元素的示例。

+0

我知道,但它像多重繼承問題。我寧願不繼承sonatype super pom。 –

+0

我知道你的意思。它可能仍然是一個有用的例子。也就是說,它顯示瞭如何獲取源代碼和javadocs。 –