問題タブ [java-platform-module-system]

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.

0 投票する
1 に答える
4039 参照

java - JDK9 で java.lang.module.ResolutionException を解決する方法

ジグソー ビルドで JDK9 のビルド109 を使用しています。

JDK9 モジュラー開発を始めるためだけに、hello-world タイプの例を試しています。アプリケーションを起動すると、次のようになりますRuntimeException(Java ランチャー コマンドも提供しています)。

ご覧のとおり、-modulepathユーザー定義モジュールを含むディレクトリを参照するように を設定しました。

これをデバッグするには、何をターゲットにする必要がありますか。

0 投票する
1 に答える
408 参照

java - jdk 9 で jar としてパッケージ化する際に、module-info.class エラーのない --module-version または --hash-dependencies のいずれか

私はProject Jigsaw @ JDK 9を調査しています。ほぼすべての Java 開発者は、Oracle が Java 9 にモジュール性をもたらす方法について考えています。

サンプル Java プロジェクトを作成しました。コードはエラーなしでコンパイルされました。

以下は、生成されたバイトコードファイルとその構造です

以下に示すように、上記のクラスファイルのjarファイルを作成しようとしました。

--module-version または --hash-dependencies のいずれか (module-info.class なし)

誰かがこのエラーの最善の解決策を提供してくれれば、非常に感謝しています。

0 投票する
2 に答える
2445 参照

java - Jigsaw が統合された OpenJDK 9 にパッチを適用する方法は?

Jigsaw 以前は、OpenJDK の 1 つまたは複数のクラスを置き換えるのは非常に簡単でした (何らかのテストを実行したり、貢献したりするため)。たとえば、元のファイルを OpenJDK ソースから にコピーし、java/util/ArrayList.java必要src/java/util/な変更を追加してから、通常どおりコンパイルします (mypatchディレクトリに出力します)。

その後、JVM を起動してオリジナルをパッチ適用済みのもの-Xbootclasspath/pに置き換えることができます。ArrayList

ただし、Java 9-ea+111 での Jigsaw 統合以降、これは機能しなくなりました。コンパイル コマンドは、次のように始まる大量のエラーを報告します。

また、古い JDK でコンパイルしても、JVM を起動できません。

Jigsaw で JDK のパッチを作成するには?

0 投票する
5 に答える
8309 参照

java - Java 9 の新しいキーワード

Java 9 の最大の機能の 1 つは、Project Jigsaw によって定義されたモジュール システムです。Project Jigsaw: Under the Hood at JavaOne 2015 のスライドを読んでいるときに、次のソース コードに気付きました。

ここで興味深いのは、ファイルが で終わり、.java2 つの新しいキーワードを使用しているように見えることです:moduleexports. Java 9 では他にどのようなキーワードが導入される予定ですか? 下位互換性はどのように処理されますか (つまり、関数または変数の名前module)?

0 投票する
1 に答える
547 参照

java - ジグソーを使用して Java 9 でリフレクションによってパッケージスコープのメソッドにアクセスすることは可能ですか?

URLStreamHandlers静的パッケージスコープメソッドにアクセスすることにより、Java 8 で動作する http および httpsのデフォルトを取得する次のコードがありますURL.getURLStreamHandler()

Java 9 でもジグソーでこれは可能ですか、それともこの方法で可視性を変更することは禁止されますか?

0 投票する
2 に答える
4100 参照

java-9 - JLink コマンドを使用して JDK9 アプリケーション用のクロスプラットフォーム実行可能ファイルを作成する方法

JAVA-9 アプリケーション / プロジェクト ジグソー用のクロス プラットフォーム / プラットフォームに依存しない実行可能ファイルを作成しようとしています。

jlink コマンドは、プラットフォーム固有の実行可能ファイル/ランタイムのみを作成すると思います。

0 投票する
1 に答える
4746 参照

java - JDK9 を使用して Eclipse Neon で JavaFX プログラムをビルドする

e(fx)clipse プラグインと追加の JDK9 サポートがインストールされた最新の Eclipse Neon マイルストーン ビルドがあり、JDK9 で最初の JavaFX プログラムをビルドしたいと考えています。残念ながら、すべての JavaFX モジュールがクラスパスにありません。この構成でJavaFXプログラムを構築できるように、これらのモジュールを追加する方法を誰か教えてもらえますか?

0 投票する
1 に答える
4305 参照

java - Java 9 を使用してカスタム JMOD をモジュール パスに追加する

JMODこのようなjmodツールで簡単なファイルを作成しました

次に、次のコマンドを実行して、そのモジュール内でクラスを実行しようとしました。

その結果、次の例外が発生しました。

classes(JMOD ファイルの作成に使用した) ディレクトリを modulepath として設定するだけで、すべてが期待どおりに機能します。

通常、モジュールパスにJMODファイルを配置することはできませんか? また、もしそうなら何か理由はありますか?

0 投票する
1 に答える
8369 参照

java - Java 9 モジュールで module-info.class なしで依存関係を使用することは可能ですか?

私は 2 つの小さなプロジェクトde.app1de.app2を作成しました。ここで、Appfrom de.app1Testfrom de.app2を使用します。

最初のプロジェクトのmodule-info.javaには、module de.app1 {}

2 番目のプロジェクトをコンパイルし、jar ファイルを作成しました。

そして、次のように最初のプロジェクトをコンパイルしようとしました:

Test見つからなかったため失敗しました。module-info.javaなしでプロジェクトをコンパイルすると、すべてが通常どおり機能します。

Java 9モジュール内でJava 9モジュールではないjarからクラスを使用することは何とか可能ですか? 特にサードパーティのプロジェクト (apache-commons など) に依存するプロジェクトでは、このようなものが必要になると思います。