У меня есть этот xsd:
input.generation.common.IXmlHasListedElementsWithStartTime
input.generation.common.XmlAbstractTestThingWithListedElementWithStartTime
input.generation.IHasStartTime
Он генерирует класс XmlTestThing расширяет XmlAbstractTestThingWithListedElementWithStartTime реализует IXmlHasListedElementsWithStartTime.
Конечная цель состоит в том, чтобы интерфейс определял простой метод, который дает правильную версию XmlTestThing, учитывая date.
Вот проблема: когда я выполняю чистую установку mvn в своем проекте, процесс завершается сбоем из-за ошибок компиляции в моей IDE (eclipse). Проблема в том, что сгенерированный класс XmlTestThing не может найти своего абстрактного родительского элемента XmlAbstractTestThingWithListedElementWithStartTime. У него нет проблем с поиском интерфейса.
Однако обновление проекта просто показывает, что в eclipse нет проблем с компиляцией для XmlTestThing: 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
Этот xjb добавляет префикс к именам классов:
И это будет тестируемый входной XML-файл:
Подробнее здесь: https://stackoverflow.com/questions/797 ... -test-java
Мобильная версия