Это относится к новым свойствам безопасности XML в JAXB 1.5 , представленным в Java 8. Вот почему ваши сборки теперь терпят неудачу на Java 8, но работают с Java 7.
Если вы используете мой maven-jaxb2-plugin
, пожалуйста, обновитесь до версии 0.9.0
или новее (текущее значение - 0.10.0
). Теперь у него есть переключатель accessExternalSchema
(по умолчанию all
).
Это точно устанавливает javax.xml.accessExternalSchema=all
.
Re; пост - «Мне нужно решение, которое не использует альфа-версии, поскольку это правила моей компании.»
Изменение версии на 1.0 & amp; значение «все» заставило меня работать:
<plugin>
<!-- We use this plugin to ensure that our usage of the
maven-jaxb2-plugin is JDK 8 compatible in absence of a fix
for https://java.net/jira/browse/MAVEN_JAXB2_PLUGIN-80. -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<!--
<version>1.0-alpha-2</version> -->
<version>1.0.0</version>
<executions>
<execution>
<id>set-additional-system-properties</id>
<goals>
<goal>set-system-properties</goal>
</goals>
</execution>
</executions>
<configuration>
<properties>
<property>
<name>javax.xml.accessExternalSchema</name>
<value>all</value>
</property>
</properties>
</configuration>
</plugin>
Взгляните на плагин компилятора Maven. В частности, вы должны иметь возможность использовать элемент <compilerArgument>
для передачи настроек компилятору.
См. http://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html для примеров.
Если вы пытаетесь изменить поведение JVM, на котором работает сам Maven, добавьте параметры в MAVEN_OPTS в среде перед запуском mvn.