我們的一個類使用jdk 1.6捆綁的jaxb api。當我嘗試使用maven編譯這個(JAVA_HOME設置爲JDK 1.6,並且它在IDE中顯示Maven使用JDK 1.6運行時),我得到了jaxb庫的類未找到錯誤。有問題的類出現在JDK 1.6 lib文件夾下的rt.jar中。有任何想法嗎???Maven沒有拿起JDK 1.6捆綁的庫
回答
那麼......錯誤是由於在maven編譯期間太陽的內部類之一的使用。它是一個有趣的場景,雖然...
我的項目使用由sun的內部JAXB庫提供的NamespaceMapper。它在一個非maven化的eclipse環境中編譯(帶有警告),因爲rt.jar在類路徑中。我們開始對這個項目進行初始化,並且突然之間我得到了一個ClassNotFound。經過一些Google搜索後,我發現這兩個帖子讓我朝着正確的方向前進。
http://forums.java.net/jive/thread.jspa?threadID=24225
http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PK88316
底線:不要使用內部庫(軟件包名稱中都有內部)。
嘗試增加這個插件你的pom.xml Maven構建部分:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
更新:這是行不通的。
你試過嗎?
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
<scope>system</scope>
<systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
不...這不工作.... – Manoj 2010-06-25 08:47:48
試試我的第二個解決方案。對不起,但我現在不能再現你的問題:-) – sourcerebels 2010-06-25 10:21:45
嗨SourceRebels,謝謝你的帖子。正如我的答案中指出的那樣,使用內部類(com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper)不是一種好的做法,因此不是按照原樣工作,而是刪除了對內部jaxb實現的依賴關係,將我的代碼更改爲從jaxb ri導入。這解決了我的問題。 – Manoj 2010-06-25 13:20:39
- 1. Intellij拿起JDK 1.6而不是1.8
- 2. Maven 1.0.2和JDK 1.6問題
- 3. maven ear插件沒有拿起application.xml
- 4. XCode 4.4捆綁版本更新沒有拿起,直到後來生成
- 5. $ uid沒有拿起價值
- 6. JKMount沒有拿起.htacess
- 7. Android沒有拿起jQuery Mobile
- 8. Java沒有拿起按鍵?
- 9. Jinja2沒有拿起CSS,
- 10. MyEclipse沒有拿起PhoneGap?
- 11. Android Studio沒有拿起minSdkVersion
- 12. JDK 1.6與JDK 1.5兼容?
- 13. JDK 1.6 GC AdaptiveSizeThroughPutPolicy
- 14. JDK 1.6和Xerces?
- 15. Maven耳朵插件沒有拿起ibm-application-bnd.xmi
- 16. Android Studio中捆綁錯誤JDK
- 17. MultiBinding沒有拿起第二個屬性
- 18. 捆綁-ManifestVersion = 2對比捆綁-ManifestVersion = 1
- 19. 沒有拿起php的javascript值
- 20. jdk 1.6和jdk 1.7之間的區別?
- 21. 捆紮機命令捆綁安裝--deployment沒有捆綁所有寶石
- 22. cmake似乎沒有拿起我的-DCMAKE_CXX_FLAGS
- 23. Ohai沒有拿起正確的ipaddress
- 24. Fedora上的Android:PATH沒有拿起?
- 25. Ubuntu的似乎並沒有拿起.bash_profile
- 26. SQL沒有拿起第二行的ID
- 27. tcpdf沒有拿起div的邊框
- 28. IE8沒有拿起我的@ font-face
- 29. CDH5中的Oozie沒有拿起mapreduce.job.counters.max
- 30. 捆綁ID沒有顯示在iTunesconnect捆綁ID
具體是什麼例外? – skaffman 2010-06-24 15:45:07