У меня есть EAR-файл, который содержит две войны и несколько банок. Я использую maven-ear-plugin для создания этого файла.
Все банки добавлены в lib. Локальных фляг немного, и я добавляю их прямо в EAR-файл. У меня есть 2 локальных фляги с другим именем, но содержат один и тот же пакет, например abc.jar и xyz.jar
При развертывании этого файла на сервере я получаю следующую ошибку:
"{\"WFLYCTL0080: Failed services\" => {\"jboss.mbean.service.publish:service=StreamReceiverStartup.start\" => \"org.jboss.msc.service.StartException in service jboss.mbean.service.publish:service=StreamReceiverStartup.start: WFLYSAR0001: Failed to execute legacy service start() method
Caused by: java.lang.reflect.InvocationTargetException
Caused by: java.lang.NoClassDefFoundError: <package_name>/<class_file>
Caused by: java.lang.ClassNotFoundException: <class_file> from [Module \\\"deployment.<ear_file_name>.ear.<jar_name>.jar:main\\\" from Service Module Loader]\"}}"
Он пытается обнаружить из abc.jar вместо xyz.jar, который содержит.
Как разрешить этот конфликт? Я попытался удалить один из файлов JAR. Это приводит к тому же исключению, но к другому файлу класса, поэтому я не могу отменить ни один из этих jar-файлов.