問題タブ [module-info]
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 - 古いJDKを対象としたJPMS/Jigsaw互換のJavaライブラリ
Maven を使用して、JDK 7 および 8 と互換性のあるライブラリ jar ファイルを構築する方法を理解しようとしていますがmodule-info.java
、そのパブリック API を明示的に宣言するファイルが含まれています。
問題: 古いターゲット バージョン用にコンパイルする必要がありますが、古い JDK は明らかに新しい JPMS 機能を認識していません。
Robert Scholte によるこの講演では、module-info ファイルのみを JDK9 でコンパイルするのが最善の方法のようです。しかし、どうすれば.jarに含めることができますか?
最小限の例pom.xml
は非常に役立ちます。:-)
編集:明確にするために:コンパイラエラーは発生しません。JDK 9 ユーザーに JPMS を使用するという基本的な概念について尋ねただけですが、私のライブラリは JDK 7 および 8 との下位互換性を維持しています。
java - Java 9 の使用時に maven-compiler-plugin:3.6.1:testCompile の実行に失敗しました
同様のエラーで多くの質問があることを知っています。重複はJava 9でのみ発生することを考慮してください。
Java 9がインストールされています
例証を簡単にするために、非常に単純な例https://examples.javacodegeeks.com/core-java/java-9-httpclient-example/をダウンロードして試してみます/
mvn クリーン インストール パッケージ -e
pom.xml
何がこの問題を引き起こしているのか、少し混乱しています。これに加えて、Java 9 を初めて使用しようとする人にとっては少し難しくなる別の課題に直面しています。私の Eclipse は Java 9 を適切に受け入れていません。ダウンロードしたばかりの Eclipse Oxygen に Java 9 サポートをインストールしようとしました。しかし、「 http://download.eclipse.org/eclipse/updates/noneにリポジトリが見つかりません」というメッセージが表示されます。そして、この mvn プラグインで Java バージョンを 9 に更新することはできません (以前は Java < 1.8 で正しく動作していました:
それが、コマンドラインからstraichをコンパイルしようとしている理由です。
Java 9 には、パッケージをより適切に整理するのに役立つモジュール性の新しい概念が付属していると読みましたが、これが私の問題を解決するきっかけになるかどうかは非常に残念です。誰かが「モジュール情報の解析に失敗しました」と表示されるのは明らかな解決策かもしれませんが、試すのに役立つものは何も想像できません。
私の率直な質問は、コンパイルするために何をチェックできるかということです。Eclipse Oxygen の現在のバージョンを Java 9 と互換性があるようにするための追加のトリックも同様に高く評価されます。
- 編集済み
24 時間以内に Windows 用にダウンロードされた Eclipse バージョン:
Web 開発者向けの Eclipse Java EE IDE。
バージョン: Oxygen.2 リリース (4.7.2) ビルド ID: 20171218-0600
- 二度目の編集
1.9 から 9 に変更した後、赤いエラー アイコンがなくなり、Java 9 になりました。それにもかかわらず、次のエラーが発生しました。
次の理由から、これは私には意味がありません。
- 三度目の編集
java - アプリケーションの起動中に解決されたモジュールを一覧表示する
ルートモジュールからアクセスできるすべてのサービスプロバイダーを把握するために、アプリケーションの起動中に解決されたモジュールのリストを知るにはどうすればよいでしょうか。
java - モジュール ロジックの Java ランタイム エラー: java.lang.NoClassDefFoundError: javax/xml/ws/Service
jdk9 に移行してから、実行時に次のエラーが発生します。
コンパイル エラーは発生しませんが、実行時エラーのみが発生します。モジュール情報は次のとおりです。
また、pom.xml には次の依存関係が含まれています。
さまざまな構成を試しても、最終結果は依然としてこの厄介なエラーです! 誰かがここで何が起こっているのか考えていますか?