------- nexus 加索引
點選Administration菜單下面的Repositories,将這三個倉庫Apache Snapshots,Codehaus Snapshots,MavenCentral的configuration下的remote repository access 下的 Download Remote Indexes修改為true。然後在這三個倉庫上分别右鍵,選擇Re-index,這樣Nexus就會去下載下傳遠端的索引檔案。
(這裡注意:reindex後,nexus隻會把索引下載下傳下來,而不是jar本身。隻有當你運作項目時,才會真正根據索引下載下傳相應的jar并放在 C:\Documents and Settings\localUser\sonatype-work\nexus\storage\ 下面。--當然同時,這些jar 也會下載下傳到本地機器的.m2 工作倉庫下。)
------- maven 生成eclipse 項目時報的錯
Java代碼

- [INFO] Resource directory's path matches an existing source directory. Resources
- will be merged with the source directory src/main/resources
- [INFO] ------------------------------------------------------------------------
- [ERROR] BUILD ERROR
可能會産生以上錯誤 在pom 檔案中巴maven-eclipse-plugin 這樣引入:
Java代碼

- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <wtpmanifest>true</wtpmanifest>
- <wtpapplicationxml>true</wtpapplicationxml>
- <wtpversion>2.0</wtpversion>
- </configuration>
- </plugin>
搞定。 (之前的問題是由于plugin 的版本引起的 改成2.6 就行了。)
------- maven 部署到weblogic 上時可能出現記憶體溢出
Java代碼

- [INFO] Java heap space
- [INFO] ------------------------------------------------------------------------
- [INFO] Trace
- java.lang.OutOfMemoryError: Java heap space
解決方案:在環境變量設定 MAVEN_OPTS=-Xms128m -Xmx512m ---- 啊? 還有錯麼? 那就是機器記憶體不夠啦 重新開機一下吧.....
---------- maven weblogic 插件的所有操作
http://maven-plugins.sourceforge.net/maven-weblogic-plugin/goals.html
---------- 關于M2_REPO
這個問題還糾結了一陣子,記得以前配置的時候在eclipse中加M2_REPO變量後就能把倉庫的jar加到eclipse中,但突然不好使了,後來不得不靠m2eclipse插件幫忙。 今天突然開竅.. 沒在機器環境變量裡配M2_REPO變量.....配置上後問題得以解決(解除安裝掉m2eclipse..)
---------- maven 解決嵌套依賴産生的沖突
比如說:jbpm 的依賴裡面又做了對hibernate 的依賴 其pom裡面引入了hibernate-core 等hibernate 的包,而項目又不能因為用jbpm對hibernate 的引入而删除本身項目對hibernate 的引入,是以為了避免重複引入造成的沖突,隻能把jbpm對hibernate 的引入删去,這裡隻需要對pom 進行一個exclusion 就行了! 首先打開相應目錄下的jbpm 的pom 看看其對hibernate 引入的groupId 和 artifactId 然後再在相應的jar 上面移除這兩個依賴 寫法如下:
Java代碼

- <dependency>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-pvm</artifactId>
- <version>4.3</version>
- <exclusions>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javassist</groupId>
- <artifactId>javassist</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
這樣 移除了jbpm 下對hibernate 和javassist 的依賴 為了避免沖突。
---------- 修改nexus工作目錄
參照:http://marshal.easymorse.com/archives/1195
---------- 用maven打包 maven war (mvn war:war) 插件。
Java代碼

- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1-alpha-1</version>
- <configuration>
- <!--
- 打包之前過濾掉不想要被打進 .war包的jar,注意:這個地方,本來路徑應該是
- WEB-INF/lib/anaalyzer-2.0.4.jar,但是經過多次試驗,不能這樣,至于咋回事兒,搞不清楚。。經多方查證均無結果
- 暫且這樣吧,雖然顯得很醜陋,但是總能解決問題吧
- -->
- <warSourceExcludes>*/lib/analyzer-2.0.4.jar</warSourceExcludes>
- <webResources>
- <resource>
- <!-- 元配置檔案的目錄,相對于pom.xml檔案的路徑 -->
- <directory>src/main/webapp/WEB-INF</directory>
- <!-- 是否過濾檔案,也就是是否啟動auto-config的功能 -->
- <filtering>true</filtering>
- <!-- 目标路徑 -->
- <targetPath>WEB-INF</targetPath>
- </resource>
- </webResources>
- </configuration>
- </plugin>
---其實執行mvn:package就可以了 不用在pom 中配這麼多.. maven 會把打的war包放在項目目錄的target目錄下。 而且我使用mvn war:war 時 打的包出問題了 不知道為啥.. 後來用mvn package 就沒問題。不知道大家有沒有遇到過...