我们有一些与之相关的DLL Java,VB.在Joss 4.X,我们曾经在Application Server下的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
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
但是我将相同的dll放在bin文件夹中,它工作正常.我想将它们放在模块文件夹中并从那里设置路径而不是bin,这样我就可以将所有与应用程序相关的jar,属性和dll文件放在一个地方,以便于维护.
另外我想知道如何在jboss 7.1.1中设置txt和属性文件的路径
关心Srini
配置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>
Run Code Online (Sandbox Code Playgroud)
将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>
Run Code Online (Sandbox Code Playgroud)
就这样.
另一个问题:如何让JBoss 7上部署的应用程序可以访问这些属性文件?
创建一个自定义模块,您可以在其中放置属性文件,并将jboss-deployment-structure.xml放入应用程序存档(WAR/EAR)以使用该自定义模块.
在$ JBOSS_HOME/modules下创建新模块目录(在本例中使用app/conf)
mkdir -p $JBOSS_HOME/modules/app/conf/main/properties/
Run Code Online (Sandbox Code Playgroud)
将属性文件放在$ 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>
Run Code Online (Sandbox Code Playgroud)
将以下jboss-deployment-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>
Run Code Online (Sandbox Code Playgroud)
然后你可以使用下面的代码访问你的属性文件(例子假设你在$ JBOSS_HOME/modules/app/conf/main/properties /中有一个example.properties文件)
Thread.currentThread().getContextClassLoader().getResource("example.properties");
Run Code Online (Sandbox Code Playgroud)
Ps:我使用JBoss AS 7.1.2(JBoss EAP 6)
关心Mauricio Magnani
| 归档时间: |
|
| 查看次数: |
4334 次 |
| 最近记录: |