將已有的Eclipse項目轉化為Maven項目


將已有的Eclipse項目轉化為Maven項目

我們之前在Eclipse IDE完成的Java命令行項目、Java Web項目也使用了構建工具——Ant,它幫助我們編譯、運行Java源代碼(無需我們自己調用javacjava等命令來進行重復、繁瑣的構建任務)。以Java項目為例,它的目錄結構一般是這樣的:

.
├── bin
│ └── com
│ └── tianmaying
│ └── Test.class
└── src
└── com
└── tianmaying
└── Test.java

Eclipse/Ant默認將項目目錄下的src文件夾作為項目源代碼文件夾,並編譯其中的源代碼,最終的輸出結果(.class文件)放在了bin目錄下。運行Test類中的main函數也是使用bin目錄下對應的字節碼文件。

使用Maven來管理項目,本質上是將項目的目錄結構改為Maven的約定方式(例如src/main/java目錄存放Java源代碼文件)。

手動轉換


首先,在項目根目錄下創建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.tianmaying</groupId>
<artifactId>to-maven-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ToMavenProject</name>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

接下來創建src/main/java文件夾,並將所有源代碼從原先的src目錄下移動過來(保持目錄結構不變):

.
├── pom.xml
└── src
└── main
└── java
└── com
└── tianmaying
└── Test.java

接下來運行mvn clean install應該可以看到成功的消息,但是在Eclipse中,刷新項目后你可能會看到類似這樣的錯誤消息:

Clipboard Image.png

這是因為Eclipse仍然認為當前項目是使用Ant進行構建的,為此,我們需要告知Eclipse我們使用的是Maven!

鼠標右鍵單擊項目,然后選擇【Configure】->【Convert to Maven Projects…】,此時項目圖標的左上角會出現一個M字樣

但是此時Eclipse的配置中,項目的源代碼文件仍然是src

Clipboard Image.png

點擊【Remove】按鈕將其移除,並【Add Folder】將src/main/java添加即可。當然在Remove后我們也可以不添加,而是保存退出,接下來右鍵點擊項目,【Maven】->【Update Project】,讓Eclipse自動判斷項目類型並設置正確的源代碼目錄。

Eclipse自動配置

鼠標右鍵單擊項目,然后選擇【Configure】->【Convert to Maven Projects…】,此時項目圖標的左上角會出現一個M字樣

如果我們不創建pom.xml,直接讓Eclipse來幫助我們創建也是沒有問題的,在上述步驟完成后(請自行填入Maven所需的groupIdartifactIdname等信息)后,Eclipse會自動創建一個pom.xml,內容和我們手動創建的幾乎沒有區別,唯一的不同在於它發現我們的源代碼在src文件夾下,而手動指定了源代碼目錄的位置:

<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.tianmaying</groupId>
<artifactId>to-maven-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ToMavenProject</name>
<build> <sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

這樣的好處在於我們不需要修改任何配置,但是我們仍然推薦將代碼結構修改為Maven的默認約定(src/main/java),如果這樣做,不要忘記刪除這一行<sourceDirectory>src</sourceDirectory>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM