Я нуждаюсь в Вашей помощи для разрешения конфликта между Гобеленом и JaxB. Ошибка:
com.sun.xml.stream. ZephyrParserFactory не может быть брошен к org.codehaus.stax2. XMLInputFactory2
Я нахожу способ разрешить его, но это для причала: http://tynamo.org/tapestry-resteasy+guide
Решение, кажется, для добавления системы свойства для объявления:
javax.xml.stream. XMLInputFactory = com.ctc.wstx.stax. WstxInputFactory
Но я не знаю, как сделать это для Tomcat. Я пытаюсь сделать это интервал он web.xml как:
javax.xml.stream.XMLInputFactory
com.ctc.wstx.stax.WstxInputFactory
com.ctc.wstx.stax.WstxInputFactory
без успеха...
Я также знаю для другого решения :)
благодарит помочь мне.
Свойства
доступны через JNDI, а не как системные свойства, так что это не сработает. Системные свойства должны быть указаны в командной строке при запуске виртуальной машины Java.
Как вы заводите своего кота? Если это из командной строки, попробуйте добавить этот фрагмент в JAVA_OPTS:
java -Djavax.xml.stream.XMLInputFactory=com.ctc.wstx.stax.WstxInputFactory [...]
Вы должны иметь возможность сделать это либо как переменную среды (Unix: export JAVA_OPTS = '- Djavax.xml.stream.XMLInputFactory = com .ctc.wstx.stax.WstxInputFactory '
, Windows: SET JAVA_OPTS =' - Djavax.xml.stream.XMLInputFactory = com.ctc.wstx.stax.WstxInputFactory '
) или при запуске Tomcat сам скрипт (catalina.sh/catalina.bat).
Если вы запускаете Tomcat из Eclipse, вы можете добавить параметр через Debug Configurations | JRE | Аргументы В.М. Просто вставьте -Djavax.xml.stream.XMLInputFactory = com.ctc.wstx.stax.WstxInputFactory
, и все будет хорошо.
Редактировать на основе комментария: AFAIK, вы не можете указать системные свойства в web.xml, извините.
Идея: Вы можете программно установить свойства системы. Возможно, вы могли бы добавить вызов System.setProperty () в свой модуль приложения Tapestry. Его нужно будет выполнить до инициализации JAXB.