2015-01-10 2 views
0

Я начал с многостадийной работой и имеет проблемы при упаковке в качестве модуля работы в весенне-XD, я раздел все другие бобы из конфигурации и, наконец, понял вопрос приходил из-за эти два боба. Ящик весенне-оксм присутствует в пользовательских модулях lib. Я использую spring-xd 1.0.0.RC1.NoClassDefinitionError с конфигурацией простого боба

Я не хочу помещать банки в сервер lib, все необходимые библиотеки должны быть частью каталога пользовательского модуля lib. Как заставить его работать?

Если я помещаю барабан весны-oxm в каталоге spring-xd/lib, ошибка возникает, а затем я получаю и другие ошибки.

Я полагаю, что настоящей причиной для NoClassDefError могут быть недостающие зависимости, и ошибка не указывает на информацию о недостающем зависимом классе.

Любые входы будут оценены?

+0

где трассировка стека? – SMA

+0

Вызванные: java.lang.NoClassDefFoundError: орг/springframework/ОХМЫ/Unmarshaller \t на java.lang.Class.getDeclaredMethods0 (нативный метод) \t в java.lang.Class.privateGetDeclaredMethods (Class.java:2531) \t в java.lang.Class.getDeclaredMethods (Class.java:1855) \t в org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.buildLifecycleMetadata (InitDestroyAnnotationBeanPostProcessor.java:199) – dallaybatta

+0

у вас есть весна-Охт * .jar в вашей Путь к классам? – SMA

ответ

0

Предоставленная информация недостаточна для заключения чего-либо. Тем не менее, вы можете проверить вторую последнюю строку кода, приведенную выше. Закрывающий тег <property> отсутствует или это TYPO при написании кода здесь.

+0

Это опечатка во время публикации здесь. Другая ошибка, которую я имел в виду при перемещении весенне-оксмской банки в Spring-xd lib, вызвана: java.lang.NoClassDefFoundError: org/springframework/oxm/Unmarshaller \t at java.lang.Class.getDeclaredMethods0 (родной Метод) \t на java.lang.Class.privateGetDeclaredMethods (Class.java:2531) \t в java.lang.Class.getDeclaredMethods (Class.java:1855) \t в org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor .buildLifecycleMetadata (InitDestroyAnnotationBeanPostProcessor.java:199) – dallaybatta

0

Зависимые банки модуля должны находиться в каталоге lib/модуля, если они уже не находятся на пути к серверному классу. Spring XD 1.1 имеет улучшенную поддержку модульной упаковки, но в версии 1.0 вам необходимо установить банки вручную. Кроме того, я предлагаю обновить до 1.1.0.M2 или 1.0.3.RELEASE по крайней мере.

+0

Наличие модуля, зависящего от jars в каталоге lib модуля, является тем, что я делал, но это не работает с двумя компонентами, которые я определил. Вы тоже можете попробовать. Если я помещаю банку в путь к серверу, я получаю следующую ошибку. Java.lang.IllegalStateException: Невозможно преобразовать значение типа [org.springframework.oxm.jaxb.Jaxb2Marshaller] в требуемый тип [org.springframework.oxm.Unmarshaller] для свойства «unmarshaller»: не найдено подходящих редакторов или стратегия конверсии – dallaybatta

+0

>> Spring XD 1.1 имеет улучшенную поддержку для упаковки модулей, но в 1.0 >> вам нужно установить банки вручную – dallaybatta

+0

Я наблюдаю то же поведение с spring-xd-1.1.0 .M2, проблема легко воспроизвести.Я хотел бы услышать больше от разработчиков Spring-xd, прежде чем я подниму JIRA об этом. – dallaybatta