2017-03-09 45 views
2

我有一個具有單一依賴項的現有Java項目。我只想創建一個pom.xml文件,以便有人可以提取項目mvn installmvn init或其他任何東西,然後開始工作。我如何在不使用IDE的情況下執行此操作?如何在不使用IDE的情況下將Maven pom.xml添加到現有項目?

我在找的相當於pip freezenpm init,或只是我可以複製並粘貼到一個新的pom.xml文件。

我試過谷歌搜索,只發現用Maven或使用Eclipse插件啓動新項目的東西。

回答

2

按照建議的三個步驟將您的項目轉換爲maven項目。

第1步: 正如nullpointer建議,以下屬性是在你的POM,使其作爲Maven項目強制性的。

Sample pom.xml file

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.infy</groupId> 
    <artifactId>user-identity-rest</artifactId> 
    <version>1.0.0</version> 
</project> 

的groupId:這是唯一的標識符組多個功能模塊項目

的artifactId:你的模塊的唯一的模塊識別。

版本:最初我們將從版本1.0.0開始,隨後將升級到1.0.1等等。

您可以根據您的理解和未來參考定製這些東西。

第2步: 現在您需要添加聲明pom.xml中的所有庫,它與您在項目中添加的jar類似。

您可能已經在項目中添加了一個庫(可以說json-simple-1.1.1.jar)。這裏maven不會查找整個庫,而是要求它的依賴。

通過在exact version中搜索庫,可以找到外部庫here的依賴關係。

<dependency> 
    <groupId>com.googlecode.json-simple</groupId> 
    <artifactId>json-simple</artifactId> 
    <version>1.1.1</version> 
</dependency> 

現在你需要從given site複製的依賴,並粘貼到你的pom.xml文件<dependencies>元素中。在這個例子中,完整的pom。xml是:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.infy</groupId> 
    <artifactId>user-identity-rest</artifactId> 
    <version>1.0.0</version> 
    <dependencies> 
     <dependency> 
      <groupId>com.googlecode.json-simple</groupId> 
      <artifactId>json-simple</artifactId> 
      <version>1.1.1</version> 
     </dependency> 
    </dependencies> 
</project> 

Maven將自動從其存儲庫中獲取它。

第3步: 第三次和最後一步是建立您的項目。打開命令提示符/終端,並轉到你的pom.xml聲明的目錄,然後鍵入MVN全新安裝

Building application with maven

這將產生對當地和voilla爲您的項目的可執行文件!你已經轉換並生成項目到Maven項目

參考路徑:C:\ PA \的IntelliJ工作區\ Springboot實踐\目標\彈簧引導例子-1.0-SNAPSHOT.jar

注:評論下面如果你需要更多的澄清。

2

您似乎正在爲您的項目尋找Minimal POM。這被定義爲 -

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>my-app</artifactId> 
    <version>1</version> 
</project> 

在那裏你可以更換名字更方便您的groupartifact。只需小心照顧 -

..如果未指定配置詳細信息,Maven將使用它們的默認值 。

+0

我可以避免使用'src/main/java'項目結構嗎? – theLearner

0

你可以讓Maven的爲您創建pom.xml和目錄結構auomatically使用這個命令:

$ mvn archetype:generate -DgroupId=com.mkyong -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

但只需更換groupIdartifactId用自己的價值觀。

然後把你的.java文件在/src/main/java/com/mkyong

然後運行標準命令,如mvn compilemvn clean,mvn package

Source

+0

如果我不想使用'/ src/main/java /'項目結構怎麼辦? – theLearner

+0

這是可能的。閱讀有關自定義''這裏https://maven.apache.org/guides/mini/guide-using-one-source-directory.html –

+0

感謝雷夫。其實,我真正想要的是:https://stackoverflow.com/questions/49042329/eclipse-how-to-bypass-using-standard-directory-structures-in-maven – theLearner

相關問題