Maven應該有很多的Best Practise,它所生成的模板應該就是一種不錯的項目結構。
如何做進一步的規劃和挖掘呢?
對整個Maven哲學的理解...
不錯Maven可以直接使用多個命令的。
如 mvn compile test-compile // compile用于編譯程序代碼,test-compile用于編譯測試代碼
mvn test 會自動執行 compile和test-compile任務。 (編譯是測試的前提條件)
而mvn package,會執行測試
這些任務依賴概念,在 Make和Ant中都存在。。。
Maven創建項目模板之后,可以往項目配置里加新的jar包。
content/repositories/central/ 把另外一個nexus配置為當前nexus的代理鏡像,需要設置的url是某個具體repository,而不是public里的東西,而在maven里則設置為public里面的路徑?
使用多個鏡像,會下載兩份索引的。查找時,兩個地方的查詢匹配結果都會被顯示出來。。。
mvn archetype:create這個功能挺好用的。這個命令據說已經過期,官方推薦的命令式 mvn archetype:generate。
還看到可以創建自定義的模板
在nexus中快速定位到自己需要的那個jar文件,也是需要一定技巧的,使用GAV搜索是一種不錯的方法。
在gtalk上向zsq請教過,(.eg)先模糊搜索spring,搜到一些關鍵字,如groupID為org.springframework,又看到最新的version為2.5.6,這樣再查找,只剩下86個匹配了,這樣就比較容易選出自己需要的jar包。
090914
被archetype:generate 搞得郁悶了,總是出一些錯誤,說包找不到。 還是直接用create吧,也只是兩個參數嘛: -DgroupId -DartifactId
090928
把Maven和Tomcat項目進行整合,之前每次mvn eclipse:eclipse之后,總會生成一個target目錄,把所有的class文件都放到target/classes目錄下了,而Tomcat之前是把class文件放到WEB-INF/classes目錄之下的。。。訪問頁面時報錯,說找不到類。
進行如下設置后,再調用mvn eclipse:eclipse,也不會修改classes的路徑了。
<build>
....
<outputDirectory>${basedir}/target/classes</outputDirectory>
</build>
10.16
appfuse的東西怎么下載不過來?
Reason: Unable to download the artifact from any repository.
org.codehaus.mojo:appfuse-maven-plugin:pom:2.0.2
dbunit-maven-plugin Build一個項目時,需要用的的眾多插件?
現在要開始領略Maven的復雜配置了。。。
又在archetype:generate上折騰了一小會兒(可能是鏡像的緣故,有些包就是下載不了,即使項目可以創建成功,mvn ecilpse:eclipse也會報錯),該是安心用create的時候了。
mvn archetype:create -DgroupId=com.demo -DartifactId=App //
剛才創建項目遇到了一個小錯誤,-DArtifactId,這里的A大寫,所以出錯了。
創建web項目需要在后面加其他的參數:mvn archetype:create -DgroupId=disk -DartifactId=disk -DarchetypeArtifactId=maven-archetype-webapp。這個是用來指定模板?
創建Tomcat項目時,會自動創建WEB-INF目錄,里面可以放web.xml(這是Servlet規范所定義的嗎?Servlet規范確實可以稱之為一個基礎規范了,是整個J2EE的基石)。
高級用法,可以把一個Java項目,或者Tomcat項目等,改成一個由Maven管理依賴的項目,可以在之后加入pom.xml(注意:里面的artifactId必須和現在的項目名稱相同,這樣mvn eclipse:eclipse生成的項目才能被eclipse導入,091023成功操作)