我们有一些与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
答案 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