У меня есть это в моем xsd:
input.generation.common.IXmlBlah
input.generation.common.XmlAbstractBlah
Он генерирует класс, XmlBlah расширяет XmlAbstractBlah, реализует IXmlBlah.
Вот проблема: когда я выполняю чистую установку mvn в своем проекте, процесс завершается сбоем из-за ошибок компиляции в моей IDE (eclipse). Проблема в том, что сгенерированный класс XmlBlah не может найти XmlAbstractBlah. У него нет проблем с поиском интерфейса.
Однако обновление проекта просто показывает, что в eclipse нет сообщений о проблемах компиляции для XmlBlah: maven не может найти импорт, а eclipse может.
Сгенерированный класс находится в target/generated-test-sources.
Интерфейс, который нужно реализовать, находится в src/main/java
Класс, который нужно расширить, находится в src/test/java.
Я немного проверил это и обнаружил следующее:
- если расширяемый класс находится в src/main/java, то все работает
- если расширяемый класс находится в src/test/java, eclipse может найти его, но maven сообщает об ошибке компиляции, поскольку не может найти его в целевых/сгенерированных-тестовых источниках.
Дополнительная информация:
Это часть pom.xml, упорядочивающая тестовые ресурсы:
org.codehaus.mojo
build-helper-maven-plugin
3.4.0
add-test-source
generate-test-sources
add-test-source
${project.build.directory}/generated-test-sources/java/
а это конфигурация pom.xml для генерации классов:
org.jvnet.jaxb2.maven2
maven-jaxb2-plugin
0.15.3
src/test/resources
${project.build.directory}/generated-test-sources/java
true
false
true
-Xinheritance
org.jvnet.jaxb2_commons
jaxb2-basics
0.11.1
input
generate
testInput.xsd
testInput.xjb
Подробнее здесь: https://stackoverflow.com/questions/797 ... -test-java
Мобильная версия