我們之前在Eclipse IDE完成的java命令行項(xiàng)目、Java Web項(xiàng)目也使用了構(gòu)建工具——Ant,它幫助我們編譯、運(yùn)行Java源代碼(無需我們自己調(diào)用javac
, java
等命令來進(jìn)行重復(fù)、繁瑣的構(gòu)建任務(wù))。以Java項(xiàng)目為例,它的目錄結(jié)構(gòu)一般是這樣的:
.├── bin│ └── com│ └── tianmaying│ └── Test.class└── src └── com └── tianmaying └── Test.javaEclipse/Ant默認(rèn)將項(xiàng)目目錄下的src
文件夾作為項(xiàng)目源代碼文件夾,并編譯其中的源代碼,最終的輸出結(jié)果(.class
文件)放在了bin目錄下。運(yùn)行Test
類中的main
函數(shù)也是使用bin
目錄下對(duì)應(yīng)的字節(jié)碼文件。
使用Maven來管理項(xiàng)目,本質(zhì)上是將項(xiàng)目的目錄結(jié)構(gòu)改為Maven的約定方式(例如src/main/java
目錄存放Java源代碼文件)。
手動(dòng)轉(zhuǎn)換
首先,在項(xiàng)目根目錄下創(chuàng)建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>接下來創(chuàng)建src/main/java
文件夾,并將所有源代碼從原先的src
目錄下移動(dòng)過來(保持目錄結(jié)構(gòu)不變):
.├── pom.xml└── src └── main └── java └── com └── tianmaying └── Test.java接下來運(yùn)行mvn clean install
應(yīng)該可以看到成功的消息,但是在Eclipse中,刷新項(xiàng)目后你可能會(huì)看到類似這樣的錯(cuò)誤消息:

這是因?yàn)镋clipse仍然認(rèn)為當(dāng)前項(xiàng)目是使用Ant進(jìn)行構(gòu)建的,為此,我們需要告知Eclipse我們使用的是Maven!
鼠標(biāo)右鍵單擊項(xiàng)目,然后選擇【Configure】->【Convert to Maven Projects…】,此時(shí)項(xiàng)目圖標(biāo)的左上角會(huì)出現(xiàn)一個(gè)M字樣
但是此時(shí)Eclipse的配置中,項(xiàng)目的源代碼文件仍然是src
:

點(diǎn)擊【Remove】按鈕將其移除,并【Add Folder】將src/main/java
添加即可。當(dāng)然在Remove后我們也可以不添加,而是保存退出,接下來右鍵點(diǎn)擊項(xiàng)目,【Maven】->【Update Project】,讓Eclipse自動(dòng)判斷項(xiàng)目類型并設(shè)置正確的源代碼目錄。
Eclipse自動(dòng)配置
鼠標(biāo)右鍵單擊項(xiàng)目,然后選擇【Configure】->【Convert to Maven Projects…】,此時(shí)項(xiàng)目圖標(biāo)的左上角會(huì)出現(xiàn)一個(gè)M字樣
如果我們不創(chuàng)建pom.xml
,直接讓Eclipse來幫助我們創(chuàng)建也是沒有問題的,在上述步驟完成后(請(qǐng)自行填入Maven所需的groupId
, artifactId
, name
等信息)后,Eclipse會(huì)自動(dòng)創(chuàng)建一個(gè)pom.xml
,內(nèi)容和我們手動(dòng)創(chuàng)建的幾乎沒有區(qū)別,唯一的不同在于它發(fā)現(xiàn)我們的源代碼在src
文件夾下,而手動(dòng)指定了源代碼目錄的位置:
<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>這樣的好處在于我們不需要修改任何配置,但是我們?nèi)匀煌扑]將代碼結(jié)構(gòu)修改為Maven的默認(rèn)約定(src/main/java
),如果這樣做,不要忘記刪除這一行<sourceDirectory>src</sourceDirectory>
。
版權(quán)聲明
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注