Я имею дело со старым приложением, которое мы недавно обновили с Java 8 до Java 11. В одной части приложения у меня есть несколько XML-файлов (XSD), которые преобразуются в классы Java с помощью плагина Jaxb2 Maven. С Java 8 все работало нормально, но после перехода на Java 11 я столкнулся с ошибкой: «слишком большой код».
Я знаю, что в Java метод или функция не могут превышать Размер 65536 байт. Но непонятно, почему это работало с Java 8, а не с Java 11. Я потратил на эту проблему две недели и до сих пор не понимаю, почему это работало раньше.
Проблема то есть я не могу разделить код на более мелкие части из-за некоторых ограничений. Я попробовал использовать другой плагин под названием Castor, надеясь, что он решит проблему, но и он столкнулся с той же проблемой.
Я экспериментировал с разными версиями обоих плагинов, но ни один из них не работал с Java 11. Остальная часть приложения работает без проблем с Java 11. Только когда я меняю версию Java в плагине Maven, я сталкиваюсь с этой ошибкой компиляции.
Пожалуйста, помогите мне избавиться от нее. этой проблемы, так как я уже потратил много времени.
Заранее спасибо.
8
11
Это код плагина Jaxb2 (добавленные мною зависимости и плагин)
pom.xml
jakarta.xml.bind
jakarta.xml.bind-api
4.0.0
com.sun.xml.bind
jaxb-impl
4.0.0
runtime
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
11
org.codehaus.mojo
jaxb2-maven-plugin
3.1.0
xjc
src/main/resources/xsds
src/main/resources/xsds/bindings.xjb
com.example.java
${project.build.directory}/generated-sources/jaxb/
bindings.jxb
Это конфигурация, которую я сделал для плагина Castor
org.codehaus.mojo
castor-maven-plugin
2.1
org.apache.maven.plugins
maven-compiler-plugin
11
org.codehaus.mojo
castor-maven-plugin
2.1
generate-main-java-classes
generate-sources
generate
src/main/resources/xsds
com.example
true
false
true
${project.build.directory}/generated-sources/jaxb/
У меня есть простой тип в xsd, как показано ниже.
.... up to more than 4000 lines
Подробнее здесь: https://stackoverflow.com/questions/782 ... en-plugins