【Java】The type XXX is not accesibleのエラーの対処方法
私の環境ではJava11を使用しているのですが
自作jarライブラリを作って、別のJavaプロジェクトで取り込んで使用しようとしたところ
The type XXX is not accesible
というエラーが出て、構文にエラーはないのに、自作jarファイルが読み込めない・・
という状況に陥りました。
結論から言うと
ライブラリ側のJavaプロジェクトにmodule-info.javaというファイルがあると思います。
そのmodule-info.javaに
exports パッケージ名(※例えば Sample.Test);
と記述してjarファイルをエクスポートすれば解決できました!
まずなぜエラーが出ていたかというと
Java9以降からモジュール単位のアクセス権限の機能が追加されたらしく
何も設定しないと、モジュールのアクセスが全て非公開になるそうです。
なので、先程のexports ...で公開したいパッケージ名を記述して
アクセス範囲を全公開にしてあげることで
他のJavaプロジェクトからでも、自作ライブラリのjarファイルを参照できるようになります!!
以上、メモでした。
質問などあればお気軽にどうぞ(^^)