JBOSS 7.1.1中DLL的路径设置

时间:2012-10-08 05:33:00

标签: jboss jboss7.x

我们有一些与Java,VB相关的DLL。在Joss 4.X中,我们曾经将它放在Application Server下的bin目录中。

我们迁移到JBOSS 7.1.1,当我从bin目录中删除并将它们放在C:\jboss-as-7.1.1.Final\modules\com\correction\main\libraries下的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,属性和dll文件放在一个地方,以便于维护。

另外,我想知道如何在jboss 7.1.1中设置txt和属性文件的路径

此致 作者Srini

1 个答案:

答案 0 :(得分:5)

配置 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-deployment-structure.xml 并将内容放在下面:

<jboss-deployment-structure>
  <deployment>
     <dependencies>
        <module name="com.correction"/>
     </dependencies>
  </deployment>
</jboss-deployment-structure>

就是这样。

另一个问题:如何让JBoss 7上部署的应用程序可以访问这些属性文件?

创建一个自定义模块,您可以在其中放置属性文件并将 jboss-deployment-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.xmlhere $ 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>

WEB-INF 中添加以下 jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
   <deployment>
      <dependencies>
            <module name="app.conf" />
   </dependencies>
   </deployment>
</jboss-deployment-structure>

然后,您可以使用下面的代码访问您的属性文件(示例假设您有 $ JBOSS_HOME / modules / app / conf / main / properties / 中的example.properties文件)

Thread.currentThread().getContextClassLoader().getResource("example.properties");

Ps:我使用了JBoss AS 7.1.2(JBoss EAP 6)

此致 Mauricio Magnani