Maven не может скомпилировать класс, который зависит от rt.jar
CI-сервер (Hudson), за который я отвечаю, строит проект Maven. После последнего коммита сборка не удалась:
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \hudson\jobs\path to my class\MyClass.java:[33,62] package com.sun.xml.internal.messaging.saaj.packaging.mime.util does not exist
[ERROR] \hudson\jobs\path to my class\MyClass.java:[75,5] cannot find symbol
symbol : class BASE64EncoderStream
location: class |fullname of MyClass|
[ERROR] \hudson\jobs\path to my class\MyClass.java:[75,38] cannot find symbol
symbol : class BASE64EncoderStream
location: class |fullname of MyClass|
[INFO] 3 errors
Обязательный класс (com.sun.xml.internal.messaging.saaj.packaging.mime.util.BASE64EncoderStream) находится в rt.jar.
Я пытался (в соответствии с инструкциями наhttp://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#System_Dependencies) добавить системную зависимость в проектs pom.xml:
dummy
dummy
1
system
${java.home}/lib/rt.jar
Это не помогло.
Самое интересное, что все файлы прекрасно скомпилированы на локальной машине моего коллеги (он использует встроенный компилятор Eclipse).
В интернете нашел такой же вопрос (ссылка:http://maven.40175.n5.nabble.com/Why-can-t-Maven-find-com-sun-xml-internal-messaging-saaj-util-ByteOutputStream-class-td107361.html). Последний ответ состоял в том, что причиной этой проблемы является Oracle 'Компилятор Java.
Итак, я сменил Oracles jdk в OpenJDK, но это не помогло.
У кого-нибудь есть предложения по решению этой проблемы?