2015-04-15 1 views
0

У меня есть веб-приложение Tapestry, разработанное с Eclipse и ранее работающее с использованием встроенного причала Eclipse с использованием плагина Maven для причала, точнее, с использованием причала: run.Как развернуть мой проект веб-приложений Eclipse Tapestry, ранее выполнявшийся во встроенном Jetty, на автономный Jetty?

Приложение построено с использованием Tapestry 5.3.8 и использует Hibernate в качестве поставщика непрерывности. Задняя часть - это установка XAMPP.

Когда я экспортировать приложения в WAR, и поместить его в папку автономной пристаней WebApps и начать причалом, я получаю следующее сообщение об ошибке:

Render queue error in BeginRender[Index:layout.pagelink]: 
Error obtaining injected value for field somePkg.pages.TestData.em: 
Unable to add method javax.persistence.EntityGraph createEntityGraph(java.lang.String) to 
class $EntityManager_14cbc42cc34: java.io.IOException: invalid constant type: 15 

em является EntityManager, который вводится, когда страница загружен.

ответ

2

Я думаю, что это связано с javassist/java 8. Более поздние версии гобеленов (включая 5.3.8) отбросили javassist в пользу ASM/Plastic.

Вы можете выполнить следующую команду из командной строки:

mvn dependency:tree

Посмотрите зависимости Javassist из спящего режима памяти может использовать его. Вероятно, лучше всего посмотреть, совместима ли версия javassist с java 8. Если вам не нужно будет использовать jre8-совместимую версию hibernate/javassist или запустить с JRE7.

+0

tapestry.ioc 5.3.8 использует javassist 3.12, который кажется виновником. hibernate 4.3.8 использует javassist 3.18.1, который работает. – danowar

+0

Рекомендация: Почему бы не пройти весь путь, как с движком JavaScript, и использовать только свободную связь для байт-кода? – danowar

+0

Я удивлен, что в tapestry-ioc 5.3.8 есть ссылка на javassist. Джавассист должен быть удален из основного гобелена. Можете ли вы попробовать добавить [exclude] (https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html) к зависимости гобелена, чтобы исключить javassist? Возможно, вам нужно будет явно объявить javassist версию в вашем pom, чтобы использовать явную версию (поскольку ближайшее определение выигрывает для конфликтов зависимостей) –

Смежные вопросы