問題タブ [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.
java - JDK9 で java.lang.module.ResolutionException を解決する方法
ジグソー ビルドで JDK9 のビルド109 を使用しています。
JDK9 モジュラー開発を始めるためだけに、hello-world タイプの例を試しています。アプリケーションを起動すると、次のようになりますRuntimeException
(Java ランチャー コマンドも提供しています)。
ご覧のとおり、-modulepath
ユーザー定義モジュールを含むディレクトリを参照するように を設定しました。
これをデバッグするには、何をターゲットにする必要がありますか。
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 なし)
誰かがこのエラーの最善の解決策を提供してくれれば、非常に感謝しています。
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 のパッチを作成するには?
java - Java 9 の新しいキーワード
Java 9 の最大の機能の 1 つは、Project Jigsaw によって定義されたモジュール システムです。Project Jigsaw: Under the Hood at JavaOne 2015 のスライドを読んでいるときに、次のソース コードに気付きました。
ここで興味深いのは、ファイルが で終わり、.java
2 つの新しいキーワードを使用しているように見えることです:module
とexports
. Java 9 では他にどのようなキーワードが導入される予定ですか? 下位互換性はどのように処理されますか (つまり、関数または変数の名前module
)?
java - ジグソーを使用して Java 9 でリフレクションによってパッケージスコープのメソッドにアクセスすることは可能ですか?
URLStreamHandlers
静的パッケージスコープメソッドにアクセスすることにより、Java 8 で動作する http および httpsのデフォルトを取得する次のコードがありますURL.getURLStreamHandler()
。
Java 9 でもジグソーでこれは可能ですか、それともこの方法で可視性を変更することは禁止されますか?
java-9 - JLink コマンドを使用して JDK9 アプリケーション用のクロスプラットフォーム実行可能ファイルを作成する方法
JAVA-9 アプリケーション / プロジェクト ジグソー用のクロス プラットフォーム / プラットフォームに依存しない実行可能ファイルを作成しようとしています。
jlink コマンドは、プラットフォーム固有の実行可能ファイル/ランタイムのみを作成すると思います。
java - JDK9 を使用して Eclipse Neon で JavaFX プログラムをビルドする
e(fx)clipse プラグインと追加の JDK9 サポートがインストールされた最新の Eclipse Neon マイルストーン ビルドがあり、JDK9 で最初の JavaFX プログラムをビルドしたいと考えています。残念ながら、すべての JavaFX モジュールがクラスパスにありません。この構成でJavaFXプログラムを構築できるように、これらのモジュールを追加する方法を誰か教えてもらえますか?
java - Java 9 を使用してカスタム JMOD をモジュール パスに追加する
JMOD
このようなjmodツールで簡単なファイルを作成しました
次に、次のコマンドを実行して、そのモジュール内でクラスを実行しようとしました。
その結果、次の例外が発生しました。
classes
(JMOD ファイルの作成に使用した) ディレクトリを modulepath として設定するだけで、すべてが期待どおりに機能します。
通常、モジュールパスにJMOD
ファイルを配置することはできませんか? また、もしそうなら何か理由はありますか?
java - Java 9 モジュールで module-info.class なしで依存関係を使用することは可能ですか?
私は 2 つの小さなプロジェクトde.app1とde.app2を作成しました。ここで、App
from de.app1はTest
from de.app2を使用します。
最初のプロジェクトのmodule-info.javaには、module de.app1 {}
2 番目のプロジェクトをコンパイルし、jar ファイルを作成しました。
そして、次のように最初のプロジェクトをコンパイルしようとしました:
Test
見つからなかったため失敗しました。module-info.javaなしでプロジェクトをコンパイルすると、すべてが通常どおり機能します。
Java 9モジュール内でJava 9モジュールではないjarからクラスを使用することは何とか可能ですか? 特にサードパーティのプロジェクト (apache-commons など) に依存するプロジェクトでは、このようなものが必要になると思います。