우리 클래스 중 하나는 jdk 1.6 번들 jaxb API를 사용합니다. maven을 사용하여 컴파일하려고 할 때 (JAVA_HOME이 JDK 1.6으로 설정되고 IDE에서 maven이 JDK 1.6을 사용하여 실행됨을 보여줍니다) jaxb 라이브러리에 대한 클래스를 찾을 수 없습니다. 해당 클래스는 JDK 1.6 lib 폴더 아래의 rt.jar에 있습니다. 어떤 아이디어 ??? 당신의 pom.xml 메이븐 빌드 섹션이 플러그인을 추가Maven이 JDK 1.6 번들 라이브러리를 선택하지 않았습니다.
답변
음 ... 오류는 maven 컴파일 중에 사용할 수없는 sun의 내부 클래스 중 하나의 사용으로 인한 것입니다. 그것의 흥미로운 시나리오는 ...
내 프로젝트는 sun의 내부 JAXB 라이브러리에서 제공하는 NamespaceMapper를 사용합니다. 그것은 rt.jar가 classpath에 있었기 때문에 (경고가있는) 비 mavenized Eclipse 환경에서 컴파일됩니다. 우리는이 프로젝트를 장만하기 시작했고, 갑자기 ClassNotFound를 얻었습니다. 인터넷 검색을 한 후에 나는이 두 가지 게시물을 통해 나를 올바른 방향으로 가게했습니다.
http://forums.java.net/jive/thread.jspa?threadID=24225
http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PK88316
최하위
는 : 내부 라이브러리를 사용하지 마십시오 (패키지 이름은 그들 내부 있습니다).시도 :
<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
내 두 번째 솔루션을 사용해보십시오. 죄송하지만 미안하지만이 순간에 문제를 재현 할 수 없습니다 :-) – sourcerebels
안녕하세요 SourceRebels, 게시물 주셔서 감사합니다. 내 대답에 명시된 바와 같이 내부 클래스 (com.sun.xml.internal.bind.marshaller.NamespacePrefixMapper)를 사용하는 것은 좋은 습관이 아니므로 작동하도록 만드는 것이 아니라 내부 jaxb 구현에 대한 종속성을 제거하고 jaxb ri에서 가져올 코드를 변경했습니다. 이것은 내 문제를 해결했다. – Manoj
- 1. 는 PMD에서 JDK 1.6
- 2. Java 1.6 JDK 도구, VisualVM
- 3. JDK 1.6 컴파일러에서 "-source 1.6"이 활성화되면 무엇이 있습니까?
- 4. HTML 크기를 선택하지 않았습니다.
- 5. Android 1.6 : onActivityResult가 호출되지 않았습니다.
- 6. jQuery에서 lineargradient 오브젝트를 선택하지 않았습니다.
- 7. Global.asax에서 종속성 중재를 선택하지 않았습니다.
- 8. JDK 1.6.x G1 ("Garbage First") 사용 경험
- 9. Windows-7 용 JDK 1.6 u18 필요 64 비트
- 10. JDK 1.6 컴파일 된 코드는 JDK 1.5 컴파일 된 코드를 호출합니다. 어떤 오류가 나타 납니까?
- 11. 성가신 "입력 파일을 선택하지 않았습니다."Codeigniter (htaccess)
- 12. 앱 시작 중에 UITabBar을 선택하지 않았습니다.
- 13. javac -Xlint에서 경고를 받음 : 선택하지 않았습니다.
- 14. MAMP 스택에서 실행중인 CodeIgniter에서 데이터베이스를 선택하지 않았습니다.
- 15. 셀레늄 테스트에서 내부 프레임을 선택하지 않았습니다.
- 16. 데이터베이스에서 플렉스 확인란 값을 선택하지 않았습니다.
- 17. MySQL이 outfile/tmp에 출력을 선택하지 않았습니다.
- 18. 이상한 IOException 1.6 환경에서 1.6 이전 오류
- 19. JDK 1.6은 JDK 1.5와 호환됩니까?
- 20. jdk 14에서 jdk 16으로 마이그레이션
- 21. JDK 1.6을 Oracle JDK 1.3의 Oracle 데이터베이스에 설치할 수 있습니까?
- 22. VS2008 최근에 추가 된 웹 컨트롤을 선택하지 않았습니다.
- 23. 페이지로드시 Jquery 드롭 다운 상자의 첫 번째 항목을 선택하지 않았습니다.
- 24. 드롭 다운 목록에 표시 할 매개 변수를 선택하지 않았습니다.
- 25. maven이 denpendency 컴파일을 막습니다.
- 26. Maven이 손상된 Jars를 다운로드합니다.
- 27. Maven이 웹 사이트에 머물러있다
- 28. SVN Maven이 있습니까?
- 29. Maven이 사용하는 컴파일러 찾기
- 30. 번들?
특별히 예외는 무엇입니까? – skaffman