jbossモジュールを作成してベースコードを提供しました。このモジュールがjbossにデプロイされたときにいくつかのデータをログアウトしたい。JBossモジュールがjarに依存することができます
@Singleton
@Startup
public MyClass {
@PostConstruct
public void init() {
System.out.println("I am in here");
}
}
上記のイニシャルメソッドが機能し、正しく開始されます。上のモジュールはjarファイルであることに注意してください。
しかし、上記のコードを独自のプロジェクトに抽出し、コンパイル済みのjarを同じモジュールに依存関係として追加すると、コードは決して実行されません。逆に、もし私が戦争に展開可能に追加すれば、期待どおりに動作します。すなわちMavenの依存関係
<dependency>
<groupId>com.myModuleCommon</groupId>
<artifactId>moduleCommon</artifactId>
<version>1.0.0</version>
</dependency>
私はドキュメントhereを見て、それは私が瓶モジュールを持つことができない別のjarファイルに依存した理由である場合、私はわからないよカントーこのstackoverflowのquestionを検討しました。
私の質問は、起動時にモジュールの依存関係として使用されたときに、抽出されたコードが呼び出されないのですが、内部クラスとしても、また、
私のサンプルのwarファイルでは、WEB-INF/libの下で抽出された依存関係を見ることができます。しかし、私のjarモジュールでは、この依存関係が使用されていることを示すManifestファイルには何もありません。モジュールの依存関係を指定する別の方法があるかもしれない、これは問題の一部です。
という意味では、何を "外部のjarファイルとして使用される" ん? EJBは、EJBをサポートする環境にデプロイされた場合にのみ動作します。戦争の一部として、またはJEEコンテナ上の耳のどちらかになります。編集:ああ待って、それはちょうどクリックした。別の瓶に入れて戦争に入れると、うまくいかないでしょう。しかし、WEB-INF/classesのクラスとしてデプロイすると、 – Gimby
@ Gimbyの権限で動作するので、別のプロジェクトにaboceコードを抽出してモジュールの依存関係として追加すると、実行されません。しかし、私がモジュールコードのクラスとしてそれを保持するならば、それは動作します。 – angryip
別のjarファイルでパッケージ化すると、jarファイルは実際にWEB-INF/libに存在します。 (実際に物理的に存在していないものは、動作しないものに対しては最も単純な答えです)。 – Gimby