我有一个项目结构
eardirectory.Ear
lib/
my-custom-classes.jar
.....
.....
my-custom-ejb.jar
META-INF/
....//Now I tried to load classes from classloader as
ClassLoader cl = Thread.currentThread().getContextClassLoader();
clazz = Class.forName(my-custom-classes.class1.class.getName(), true, cl);但是这将无法工作,因为当前的线程是jboss的,jboss没有任何我的自定义类的标识。
,所以我的问题是如何用JBossJBossJBossJBossJBossJBossJBoss-JBossJBoss-,我必须在运行时加载类定义。在"jboss-deployment-structure"中有任何方法可以在部署EAR之前定义如何加载类吗?
发布于 2013-02-05 11:57:06
按照步骤创建它应该工作的模块
jboss-as-7.1.1.Final/modules/com/company/gyani/main/中的Step-1
-module.xml
-my-custom-classes.jar
Content of module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.company.gyani">
<resources>
<resource-root path="my-custom-classes.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>步骤2现在在我的INF/META-INF/
-jboss-deployment-structure.xml
-MANIFEST.MFMANIFEST.MF含量
Manifest-Version: 1.0
Dependencies: com.company.gyani发布于 2013-02-04 12:09:33
您需要使用JBoss AS7提供的模块概念。
在这里,您将类/jar/property文件配置为模块,这些文件是在服务器范围启动JBoss时加载的,任何对该模块具有依赖关系的部署应用程序都可以访问这些模块。
通读如何配置模块
https://stackoverflow.com/questions/14666465
复制相似问题