2017-10-30 13 views
1

私は自分のプロジェクトをJava 9に移行しようとしていますが、プロセスはそれほど簡単ではないようです。私は私が私のポンポンで次の引数を修正する可能性が見えないパッケージに関するいくつかのエラーを取得保管:Java 9 migration javax.annotation

<compilerArgs> 
    <arg>--add-modules</arg> 
    <arg>java.se.ee</arg> 
</compilerArgs> 

しかし、私はまだ、次のエラーを取得:任意の助けをいただければ幸い

cannot find symbol 
[ERROR] symbol: class Priority 
[ERROR] location: package javax.annotation 

+1

[Java 9:実行時にjavax.annotation.Resourceへアクセスする方法](https://stackoverflow.com/questions/46502001/java-9-how-to-get-access-to -javax-annotation-resource-at-run-time)?はいの場合は、他に何を試しましたか、またこれが重複していないことを説明してください。 – nullpointer

+1

javax.annotation.PriorityはJava SEまたはJDKにありません。クラスパスにjavax.annotation-api-1.3.1.jar(maven座標:javax/annotation/javax.annotation-api/1.3.1)がある場合、それはうまくいくはずですか? –

+2

[Java 9:実行時にjavax.annotation.Resourceへのアクセス方法](https://stackoverflow.com/questions/46502001/java-9-how-to-get-access-to-javax) -annotation-resource-at-run-time) – nullpointer

答えて

2

javax.annotation.Priorityはどこから来たのか分かりませんが、解決策analog to getting JSR 305 running on Java 9は問題を解決するはずです:(廃止予定の)Java EEモジュールを追加する代わりにjava.xml.ws.annotation o間接的にjava.se.eeを追加することによって)javax.annotation:javax.annotation-apiという外部アーティファクトからjavax.annotationパッケージを追加する必要があります。

コードをモジュール化すると、そのソリューションは機能しなくなり、patching modulesを開始する必要があります。あるいは、より良い方法では、javaまたはjavaxパッケージから来ると思われる非JDKクラスを必要とするソリューションから離れてしまうと、常に問題が発生します。