Как правильно добавить файлы в 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