把原有項(xiàng)目添加到Maven管理時(shí),總會(huì)出現(xiàn)很多莫名奇妙的問(wèn)題,其中之一便是Maven默認(rèn)的項(xiàng)目結(jié)構(gòu)和自己的項(xiàng)目結(jié)構(gòu)不一致,導(dǎo)致無(wú)法編譯源代碼,更不用說(shuō)部署、運(yùn)行項(xiàng)目了。
Java程序開(kāi)發(fā),一般使用Eclipse、MyEclipse等工具,其源碼目錄為src,這與Maven默認(rèn)的src/main/java不同。因此,在沒(méi)有額外配置的情況下,使用Maven命令無(wú)法完成代碼的編譯。
針對(duì)這種情況,codehaus提供了build-helper-maven-plugin插件來(lái)支持自定義的項(xiàng)目目錄結(jié)構(gòu)(相對(duì)于Maven默認(rèn)目錄結(jié)構(gòu)來(lái)說(shuō))。
該插件官網(wǎng):http://mojo.codehaus.org/build-helper-maven-plugin/
截止到目前(2013-12-25),最新版本為1.8
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.8</version>
- </plugin>
該插件提供了多個(gè)目標(biāo),包括設(shè)置主源碼目錄、測(cè)試源碼目錄、主資源文件目錄、測(cè)試資源文件目錄等。
以下簡(jiǎn)單說(shuō)一下主資源文件目錄、主源碼目錄的配置,其他設(shè)置大同小異,不再一一講述。
直接上代碼,說(shuō)明全部在注釋中。
- <!-- 設(shè)置多個(gè)源文件夾 -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.8</version>
- <executions>
- <!-- 添加主資源文件目錄 -->
- <execution>
- <!--自定義名稱(chēng),不可重復(fù)-->
- <id>add-resource</id>
- <!--指定綁定到生命周期-->
- <phase>initialize</phase>
- <!--指定指定的目標(biāo),可添加多個(gè)-->
- <goals>
- <goal>add-resource</goal>
- </goals>
- <configuration>
- <resources>
- <!--資源文件目錄,可添加多個(gè)-->
- <resource>
- <directory>${basedir}/src/main/one</directory>
- <!--是否啟用變量過(guò)濾-->
- <filtering>true</filtering>
- <!--排除的文件,可添加多個(gè)-->
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- <resource>
- <directory>${basedir}/src/main/two</directory>
- <filtering>true</filtering>
- <excludes>
- <exclude>**/*.java</exclude>
- </excludes>
- </resource>
- </resources>
- </configuration>
- </execution>
-
- <!-- 添加主源碼目錄 -->
- <execution>
- <id>add-source</id>
- <phase>initialize</phase>
- <goals>
- <goal>add-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${basedir}/src/main/three</source>
- <source>${basedir}/src/main/four</source>
- </sources>
- </configuration>
- </execution>
-
- <!-- 添加測(cè)試源碼目錄 -->
- <execution>
- <id>add-test-source</id>
- <phase>initialize</phase>
- <goals>
- <goal>add-test-source</goal>
- </goals>
- <configuration>
- <sources>
- <source>${basedir}/src/main/five</source>
- <source>${basedir}/src/main/six</source>
- </sources>
- </configuration>
- </execution>
- </executions>
- </plugin>
添加以上配置之后,執(zhí)行Maven命令 compile即可對(duì)源代碼進(jìn)行編譯了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。