0

私は次のようなプロジェクト構造を持っています

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にはmy-custom-classes.jarのIDがないため、これは機能しません。

だから私の質問は、これをjbossでどのように行うことができるかということです。実行時にクラス定義をロードする必要があります。「jboss-deployment-structure」にEARをデプロイする前にクラスをロードする方法を定義できる方法はありますか?

4

2 に答える 2

1

手順に従って、動作するモジュールを作成します

ステップ -1jboss-as-7.1.1.Final/ modules / com / company / gyani /main/で

                      -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今my.ear/META-INF/

      -jboss-deployment-structure.xml
      -MANIFEST.MF

MANIFEST.MFの内容

    Manifest-Version: 1.0
    Dependencies: com.company.gyani
于 2013-02-05T11:57:06.063 に答える
0

JBossAS7が提供するモジュールの概念を使用する必要があります。

ここでは、classes / jars / propertyファイルをモジュールとして設定します。これらはサーバースコープでJBossを起動するときにロードされ、このモジュールに依存するデプロイ済みアプリケーションからアクセスできます。

モジュールの構成方法をお読みください

于 2013-02-04T12:09:33.387 に答える