問題タブ [java-module]
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 - Project Jigsaw / Java プラットフォーム モジュール システム
現在、デスクトップ アプリケーション用のプラグイン コンセプトを開発する可能性を評価しています。
調査中に、OSGI と Java Platform Module System (または Project Jigsaw) について知りました。
Java Platform Module System の仕様について少し混乱しています。
Java プラットフォーム モジュール システムでは、モジュールをプラグインのように追加できますか?
オプションのモジュールを宣言して、そのサービスにアクセスすることは可能ですか?モジュールが独自のクラスパスを持ち、アプリケーションの残りの部分から分離することは可能ですか?
サードパーティのプログラマーが、既存のアプリケーションにシームレスに統合するプラグインを実装することは可能ですか?
誰かが仕様を理解するのを手伝ってくれたら、とても感謝しています。
java - Java 9 で循環モジュール依存関係は可能ですか?
Java 9 では、循環モジュールは許可されますか? いいえの場合、その理由は何ですか?
domain-driven-design - Java 9 モジュールと DDD での二重ディスパッチ
一部のプロジェクトでは、ダブル ディスパッチ メカニズムを使用して、実行時にインフラストラクチャ モジュールの「ビュー」をドメイン モジュールに提供しています (ドメインの強化: ダブル ディスパッチ パターン)。上記で「モジュール」と呼んでいるものは、service.jar->domain.jar からの依存関係がコンパイル時にのみ適用される単純な個別の jar ファイルです。サービスとドメインを「真の」Java 9モジュールとして定義すると、Java-9でこれを機能させることができますか?
java - Java 9 モジュールでは、複数のモジュールが同じパッケージをエクスポートできますか?
Java 9 モジュール システムに適合するベスト プラクティスを使用して、利点を得るために行う作業を少なくしようとしています (そして、現在のシステムは、いくつかのモジュール性から実際に利益を得ることができます)。
現在の標準では、モジュール A がパッケージ com.example.foo をエクスポートし、モジュール B がパッケージ com.example.foo をエクスポートすることは許可されていますか?
関連する質問として、関連する場合、この点が実際に解決されているか、それともまだ最終的ではないかということです.
java - 実行中のJava 9モジュール例外
https://jdk9.java.net/download/から jdk 9 をダウンロード し、 http://openjdk.java.net/projects/jigsaw/quick-start#linkerJigsaw からクイックスタート ガイドを ダウンロード して、最初の例「ご挨拶」を書きました。 "このガイドによると。プロジェクトは正常にコンパイルされましたが、実行しようとすると例外が発生しました
この例外の理由が見つかりませんでした
java - Java 9 で InaccessibleObjectException (「{member} をアクセス可能にできません: モジュール {A} は {B} に対して {package} を開きません」) を解決する方法は?
この例外は、Java 9 でアプリケーションを実行しているときに、さまざまなシナリオで発生します。特定のライブラリとフレームワーク (Spring、Hibernate、JAXB) は、特に発生しやすい傾向があります。Javassist の例を次に示します。
メッセージには次のように書かれています。
保護された最終的な java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) を作成できないと、java.lang.ClassFormatError がアクセス可能になる: モジュール java.base名前のないモジュール @ 1941a8ff に対して「java.lang を開きません」
例外を回避し、プログラムを正常に実行するにはどうすればよいですか?
java - Javadoc は Java 9 でのモジュールの可視性をどのように扱っていますか?
Javadoc ツールは、アクセシビリティ修飾子に基づいてドキュメントを生成します。デフォルトでは、すべてpublic
のprotected
クラス、フィールド、およびメソッドが文書化されます。これは、次のオプションで変更できます。
-public
public クラスとメンバーだけを表示します。-protected 保護
された public クラスとメンバーのみを表示します。これがデフォルトです。-package
パッケージ、保護、およびパブリック クラスとメンバーのみを表示します。-private
すべてのクラスとメンバーを表示します。
Java 9 はモジュールの概念を導入し、プロジェクト Jigsaw はそれを既存の JDK に適用します。Mark Reinholdによる講演(モジュールに関する一連の講演の 3 番目) は、モジュールの可視性 ( 経由)に応じて、モディファイヤがどのようpublic
に異なるレベルのアクセシビリティを持っているかを示しています。exports
- みんなに公開
- パブリックだが特定のモジュールのみ
- モジュール内でのみ公開
現在、すべてのパブリック メンバーにアクセスできるわけではないため、同じ Javadoc 生成スキームを使用し続けることはあまり意味がありません。「十分な」レベルで公開されているメンバーのみを文書化する必要があります。
Javadoc モジュールは認識されますか? 追加の露出レイヤーを処理するために、上記のものに加えてコマンド オプションはありますか? 特定のモジュールにのみ公開されているパブリック メンバーの場合、Javadoc には次のようにリストされていますか?
?