Maven не берет JDK 1.6 в комплекте библиотеки - PullRequest
1 голос
/ 24 июня 2010

один из наших классов использует jaxb api из jdk 1.6.Когда я пытаюсь скомпилировать это с помощью maven (JAVA_HOME установлен в JDK 1.6 и в IDE показывается, что maven работает с использованием JDK 1.6), я получаю ошибку класса not found для библиотеки jaxb.рассматриваемый класс присутствует в rt.jar в папке lib JDK 1.6.Есть идеи ???

Ответы [ 2 ]

2 голосов
/ 25 июня 2010

Ну ... ошибка произошла из-за использования одного из внутренних классов солнца, который не был доступен во время компиляции maven.Хотя это интересный сценарий ...

Мой проект использует NamespaceMapper, предоставленный внутренними библиотеками JAXB от Sun.Он был скомпилирован в неманизированной среде затмения (с предупреждением), так как в пути к классам был файл rt.jar.Мы начали придумывать этот проект, и внезапно я получил ClassNotFound для этого.После некоторого поиска в Google я наткнулся на эти два поста, которые заставили меня двигаться в правильном направлении.wss? rs = 180 & uid = swg1PK88316

BottomLine: не используйте внутренние библиотеки (в именах пакетов есть внутренние).

1 голос
/ 24 июня 2010

Попробуйте добавить этот плагин в свой раздел сборки 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>
...