Настройка пути для DLL в JBOSS 7.1.1
У нас есть несколько DLL, которые связаны с Java,VB
, В Joss 4.X
Мы привыкли размещать в каталоге bin под сервером приложений.
Мы мигрировали в JBOSS 7.1.1
и когда я удалил из каталога bin и поместил их в папку библиотеки под C:\jboss-as-7.1.1.Final\modules\com\correction\main\libraries
,
Я получаю это исключение
java.lang.UnsatisfiedLinkError: no xxxJavaWrapper in java.library.path
java.library.path = C:\Program Files\Java\jdk1.6.0_24\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\apache-maven-3.0.4;C:\apache-maven-3.0.4\bin;C:\Python27;C:\Program Files\Java\jdk1.6.0_24;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
java.lang.UnsatisfiedLinkError: com.xxxJavaWrapperJNI.new_xxx()J
module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.correction">
<resources>
<resource-root path="xxx.jar"/>
<resource-root path="xyz.jar"/>
<resource-root path="libraries"/>
</resources>
<dependencies>
<system export="true">
<paths>
<path name="libraries"/>
</paths>
<exports>
<include-set>
<path name="libraries"/>
</include-set>
</exports>
</system>
</dependencies>
</module>
Но я помещаю ту же самую DLL в папку bin, она работает нормально. Я хочу поместить их в папку модуля и установить путь оттуда вместо bin, чтобы иметь возможность хранить все связанные с приложением файлы jar, properties и dll в одном месте для упрощения сопровождения.
Также я хочу знать, как установить путь к txt и файлам свойств в jboss 7.1.1
С уважением Срини
1 ответ
Настройте module.xml, как показано ниже:
<module xmlns="urn:jboss:module:1.1" name="com.correction">
<resources>
<resource-root path="xxx.jar"/>
<resource-root path="xyz.jar"/>
<resource-root path="lib/win-x86_64"/>
</resources>
<dependencies>
<module name="sun.jdk"/>
</dependencies>
</module>
Поместите библиотеки DLL в каталог lib / win-x86_64. Проверьте другие зависимости вашего проекта.
В WEB-INF вашего приложения создайте файл jboss-deploy-structure.xml и поместите содержимое ниже:
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="com.correction"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
Это все.
Другой вопрос: как вы можете сделать эти файлы свойств доступными для приложений, развернутых на JBoss 7?
создайте пользовательский модуль, в который вы поместите свои файлы свойств и поместите jboss-deploy-structure.xml в архив приложения (WAR/EAR), чтобы использовать этот пользовательский модуль.
Создайте новый каталог модулей в $ JBOSS_HOME / modules (используя app / conf в этом примере)
mkdir -p $JBOSS_HOME/modules/app/conf/main/properties/
Поместите ваши файлы свойств в $JBOSS_HOME/modules/app/conf/main/properties/
Создайте module.xml здесь $JBOSS_HOME/modules/app/conf/main/module.xml
<module xmlns="urn:jboss:module:1.1" name="app.conf">
<resources>
<resource-root path="properties"/>
</resources>
</module>
поместите следующий файл jboss-deploy-structure.xml в WEB-INF:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="app.conf" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Затем вы можете получить доступ к файлам свойств с помощью приведенного ниже кода (пример предполагает, что у вас есть файл example.properties в каталоге $JBOSS_HOME/modules/app/conf/main/properties/)
Thread.currentThread().getContextClassLoader().getResource("example.properties");
PS: я использовал JBoss AS 7.1.2 ( JBoss EAP 6)
С уважением Маурисио Маньяни