問題タブ [java-9]
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 - pom.xml で maven-jdeps-plugin を実行するにはどうすればよいですか?
私pom.xml
はmaven-jdeps-pluginを追加しました:
しかし、これをJDK 8とmaven 3.3.3で実行すると、jdepsプラグインはチェックを行いません:
追加情報:
java - JDK 9 で動作するように tools.jar に対する maven 依存関係を宣言する
JDK 8以前で正常に機能するこの手法を使用するプロジェクトがあります。ただし、JDK 9 では、この jar が削除され、機能しなくなりました。
com.sun:tools:jar の「dependencies.dependency.systemPath」は、存在しないファイル /usr/lib/jvm/java-9-jdk/../lib/tools.jar を参照しています。JRE だけでなく、JDK を使用して Maven を実行していることを確認してください。
( JDK 9にはtools.jarはありませんが、パスは奇妙に見えます)
JDK のバージョンや JDK ベンダーにまたがって機能するベスト プラクティスは何ですか? OpenJDK での JDK 9 の回避策さえ見つけられませんでした (プロジェクトを JDK 8 でビルド可能に保ちながら)。
java - Java 9 で循環モジュール依存関係は可能ですか?
Java 9 では、循環モジュールは許可されますか? いいえの場合、その理由は何ですか?
java - 無限ループを強制終了すると端末がフリーズする
SO に既に投稿された同様の質問がありますが、ソリューションはループが出力を生成しない場合にのみ機能します。代わりに、後で実行while(true) System.out.print(1);
してCtrl+Cを押しようとすると、端末がフリーズするだけで、端末を強制終了する方法がないように見えます。ターミナルを閉じて再度開く以外にできることはありますか?
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 - JRE-9 deprecate browser plug-in - Web Start (JNLP) を JRE-9 で直接実行できますか?
Java は JRE-9 が Java ブラウザ プラグインのサポートを廃止すると主張していたので、Java コントロール パネルで「ブラウザ プラグイン」を無効にしようとしました (下図のように)。
その後、既存のすべての Web Start JNLP は実行できなくなります。
次の例のように: Java Web Start アプリケーションのデプロイ
JRE 9 / Java9 でアプレット/Web スタートを処理する方法を知っている人はいますか?
詳細については、Java ブラウザ プラグインを無効にする下のスクリーンショットを参照してください。
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
)?