問題タブ [jboss-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java モジュールの使用を開始するには?
OSGi および JBoss モジュールについて読んでいます。モジュールの目的は理解していますが、Jar 地獄や競合するクラスを避けるためですが、それらを使用する新しいアプリケーションを作成する場合、どこから始めればよいかわかりません。他のモジュールをロードするカーネルはどこかにありますか? Eclipse や Wildfly を実行したくありません。自分のアプリで新たに始めたい。モジュールのこんにちは世界。
編集: 私は IntelliJ を使用していますが、いくつかの理由から、Eclipse に切り替えたくないのです。そのため、Eclipse プラグインのインストールが必要な回答にはあまり対応できません。
java - Eclipse を使用した JBoss カスタム モジュールの開発
カスタム JBoss モジュールのコードを継承しましたが、JBoss EAP 6.x はまったくの初心者です。現在、私はEclipseを使用してモジュールを開発していますが、新しいバージョンをデプロイするには手動で行う必要があります。
これを行うより良い方法はありますか?
jsf-2 - JBoss EAP 6.2 モジュールでの JSF 複合コンポーネントの使用
モジュールを介して複合コンポーネントを JBoss に公開するにはどうすればよいですか? コンポーネントは同じプロジェクトで正しく動作し、プロジェクトは依存モジュール内の他のクラスを正しく参照できますが、複合コンポーネントを使用しようとすると次のようなエラーがスローされます
現在jboss-deployment-structure.xml
、次のように変更しましたが、違いはありません。
java - JBoss モジュール java.lang.ClassNotFoundException
JDBC ファイルを使用して OrientDB データソースを JBoss AS7 にデプロイしようとしていますが、 [java.lang.ClassNotFoundException: com.orientechnologies.orient.core.OSsignalHandler from Module "com.orientechnologies:main" from local moduleを取得し続けます。ローダー @6f4051d1 (ルート: /opt/jboss/modules)例外 (部分的なスタック トレースへのリンク)。事は - .class ファイルは、エラーをスローしているクラスと同じ jar にあります。
なぜそれを見るのに問題があるのか よくわかりません。私のサーバー/ブート ログは、追加のエラーを提供していないようです。
jar tf orientdb-jdbc-2.0.7-all.jar
追加の依存関係を追跡し、それらを個別のモジュールとして公開しようとしました。これらのモジュールを構築する方法とクラス解決規則が何であるかについての適切なドキュメントを見つけるのに多くの時間を費やしましたが、それらはすべて指摘しているようですフォルダ構造で深さ 2 しか必要ありません。これらのクラスの場所を示すために META-INF に追加する必要があるかどうかはよくわかりません。
jakarta-ee - JBoss の異なるデプロイメント間で処理されないフィールドの注釈
注釈 ( ) を持つスーパークラス@Resource
があり、そのスーパークラスを拡張するサブクラスがステートレス Bean であるという問題があります。
これとよく似ていますが、スーパークラスとサブクラスが同じモジュールにある場合、リソースは正常に注入されます。それらが別々のモジュールにある場合、リソースは注入されません - 注釈が処理されないようです。
クラスで注釈が「見える」ことをリフレクションで確認しましたが、 にステップインするとResourceInjectionAnnotationParsingProcessor
、@Resource
注釈は他のモジュールから継承するクラスには表示されません (同じモジュール内にあるクラスには表示されますが) )。
私が見てきた一般的な解決策jandex
はファイルとセットですannotations="true"
が、これは静的モジュール用であり、私たちの場合のような他の展開ではないようです。
もう1 つの提案は、モジュールがアノテーションへの依存関係を欠いている可能性があるというものでしたが、私の例では、関連するすべてのモジュールが に依存していました<module name="javax.annotation.api"/>
。
これらの注釈を個別の展開から「見える」ようにする他の方法はありますか?
最小限の例として、スーパークラスがある場合
とのサブクラス
これらが同じモジュール内にある場合は、SessionContext
が表示されます。個別のモジュールでSessionContext
は、常にnull
です。