Настройка пути для 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)

С уважением Маурисио Маньяни

Другие вопросы по тегам