最近在開發項目時用到maven,多個maven項目之間是有一定聯系的,所以分開創建,再用maven聚合管理。
項目使用git來管理代碼,因為上傳代碼時設置.gitignore文件中不上傳.setting等文件,所以在git中下載下來之後的maven項目不是一個elipse項目文件,這樣如果在github中拉下代碼之後,再導入時不是很方便,所以這裡使用maven的插件,把各個項目變成Eclipse項目。
項目的結構如下:
其中encryption是多個maven項目中的其中一個,這些項目都依賴Utils4Java-parent中的pom文件
Utils4Java-parent:
encryption項目(新建的其他maven項目結構也如此):
在這裡除了pom文件之外其他項目沒有打勾,是因為用git上傳到github時在.gitignore文件中被忽略掉了,而src沒有被上傳是因為文件夾中我沒有加源碼,是空的。在這裡可以看到eclipse項目文件標志的.setting沒有被上傳。
在eclipse中導入是這樣的:
一.如何用maven管理多個項目
Utils4Java-parent的pom文件如下,所有的maven項目的pom文件都依賴這個父文件:
4.0.0 com.kxw Utils4Java-parentpom 0.0.1-SNAPSHOT Utils4Java-parent http://maven.apache.org ../encryption central Central Repository https://nexus.sourcesense.com/nexus/content/repositories/public/ default false UTF-8 4.10 junit junit${junit.version} test org.apache.maven.plugins maven-compiler-plugin2.3.2 org.apache.maven.plugins maven-source-plugin2.1.2 jar test-jar org.apache.maven.plugins maven-eclipse-plugin2.8 2.0 org.apache.maven.plugins maven-war-plugin2.3 ${project.organization.name} ${project.artifactId}${project.version} ${project.build}
4.0.0 encryption com.kxw Utils4Java-parent0.0.1-SNAPSHOT ../Utils4Java-parent/pom.xml jar encryption http://maven.apache.org UTF-8 junit junittest
這樣就可以在這基礎上新建多個maven文件並依賴於父POM文件了。
二.用git管理項目代碼
.gitignore文件:
.*.swp .DS_Store *target* *.jar *.war *.ear *.class classes/ .svn .classes .project .classpath .settings/ .metadata bin tmp/** tmp/**/* *.tmp *.bak *.swp *~.nib .classpath .settings/** tartget/** git.properties
想了解如何用git上傳代碼可以看這裡:http://blog.csdn.net/kingson_wu/article/details/38436923
三.使用maven插件把項目變成eclipse項目
這些插件在父POM文件已經配置,只有運行MavenEclipseBuild.bat即可
cd Utils4Java-parent call mvn eclipse:clean eclipse:eclipse pause