У меня проблема с развертыванием уха с комплектными войнами, банками и файлами конфигурации (.properties) на JBoss 4.3-eap. Вот структура моего уха:
+app.ear
+lib
*.jar libraries that the war's use
+classes
*.properties and other configuration files
+META-INF
application.xml
jbos-app.xml
app.war
app2.war
appn.war
В моем jboss-app.xml есть следующее:
<jboss-app>
<jmx-name>app.startup.JbossStartUpServer:service=JbossStartUpService</jmx-name>
</jboss-app>
Мой application.xml выглядит так:
<application id="app_id">
<display-name>App>/display-name>
<description>TheApp>/description>
<!--
<module id="core">
<java>lib/core.jar</java>
</module>
<module id="tag">
<java>lib/tag.jar</java>
</module>
-->
<module id="app">
<web>
<web-uri>app.war</web-uri>
<context-root>/</context-root>
</web>
</module>
<module id="app2">
<web>
<web-uri>app2.war</web-uri>
<context-root>/app2</context-root>
</web>
</module>
<module id="appn">
<web>
<web-uri>appn.war</web-uri>
<context-root>/appn</context-root>
</web>
</module>
<security-role id="secRole">
<description>users</description>
<role-name id="appRoleName">users</role-name>
</security-role>
<library-directory>lib</library-directory>
</application>
По сути, при развертывании уха я сталкиваюсь с проблемой, когда одна из моих войн не может найти класс в файле core.jar
(java.lang.NoClassDefFoundErro
r). Я думаю, что это связано с тем, что война не нашла эту библиотеку, хотя она находится в папке lib
/ classpath. Если я попытаюсь раскомментировать первые два модуля, чтобы добавить библиотеки сторонних разработчиков (core.jar
и tag.jar
), внезапно файлы свойств больше не будут найдены (на данный момент они находятся в lib/classes
, так что, надеюсь, в любом случае, они будут подхвачены загрузчиком классов. В идеале я хотел бы поместить классы в отдельный каталог и добавить их в путь к классам отдельно, но сейчас я просто пытаюсь заставить это работать).
Я пробовал некоторые другие вещи, включая ручное добавление core.jar
в файл manifest.mf
войны, изменение UseJBossWebLoader
на true в файле jboss-service.xml
в jboss-web.deployer
и различные комбинации вышеупомянутого, чтобы нет успеха Я либо потеряю каталог classes
из classpath (lib
папка), и ни один из моих файлов свойств не будет найден, или война не сможет получить доступ к нужному классу из фляги. Я думаю, что должна быть какая-то конфигурация, которая является неправильной, и хотя я пытался прочитать о том, как JBoss выполняет развертывание EAR и загрузку классов, я не могу адаптировать его к моей текущей установке.
Любые предложения будут с благодарностью.
Вот несколько сайтов, на которые я смотрел:
Raible Designs JBoss ClassLoader Logic
Это всего лишь несколько сайтов, на которые я смотрел. Проблемы могут быть связаны с настройкой проекта, так как это большой установленный проект, который (в некоторой степени) переносится из развертывания в сети на Jboss. Так что если есть что-то, что ДОЛЖНО работать, но не работает, это может быть проблемой с некоторыми настройками кода / проекта. К сожалению, я еще не дошел до того, что могу определить, связана ли это с проблемой JBoss или с проектом.