Как правильно добавить файлы в bootclasspath в maven?

Я использую некоторые классы JSR166 с Java 1.6, некоторые из которых находятся под java.util.concurrent, Я на OSX, хотя я ожидаю, что это в конечном итоге будет работать на Linux.

Если я установлю эту переменную среды, я смогу запустить свой проект:

export MAVEN_OPTS=-Xbootclasspath/p:/Users/me/.m2/repository/org/codehaus/jsr166-mirror/jsr166/1.7.0/jsr166-1.7.0.jar

Я попытался следовать инструкциям здесь и положить настройки в моем pom.xml:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <version>3.0</version>
      <compilerArguments>
        <verbose/>
        <bootclasspath>/Users/me/.m2/repository/org/codehaus/jsr166-mirror/jsr166/1.7.0/jsr166-1.7.0.jar</bootclasspath>
      </compilerArguments>
    </configuration>
</plugin>

К сожалению, это дало ошибку из-за невозможности найти java.lang, Если я добавлю ссылку на classes.jar (по-видимому, версия OSX rt.jar) в bootclasspath Я могу исправить эту ошибку, но это просто возвращает меня к тому, с чего я начал:

java.lang.SecurityException: Prohibited package name: java.util.concurrent

Как мне настроить maven для правильного использования этого аргумента?

2 ответа

Вы должны проверить менеджер безопасности. К сожалению, я не знаю конкретных на OSX. По умолчанию политики безопасности JVMuses определены в файлах java.security и java.policy, которые находятся в папке JAVA_HOME/jre/lib/security. Проверьте также параметры -Djava.security.manager и –Djava.security.policy для вашей JVM.

Разве вы не должны использовать для этого extdir вместо bootclasspath?

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <compilerArgs>
            <arg>-verbose</arg>
            <arg>-extdir /Users/me/.m2/repository/org/codehaus/jsr166-mirror/jsr166/1.7.0/</arg>
          </compilerArgs>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

От http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html

Другие вопросы по тегам