Javaで画像透かしプログラムを作成しており、以下をインポートしました。
import com.Sun.image.codec.jpeg.JPEGCodec;
import com.Sun.image.codec.jpeg.JPEGEncodeParam;
import com.Sun.image.codec.jpeg.JPEGImageEncoder;
しかし、次のようなエラーが発生します。
アクセス制限:必要なライブラリ
C:\Program Files\Java\jre6\lib\rt.jar
の制限により、タイプJPEGCodec
にアクセスできません。
誰かがこれを解決する方法を知っていますか、またはそれにアクセスするためにどのライブラリを追加する必要があり、そのライブラリをどこで見つけることができますか?
ここを見てください リンク
1. Open project properties.
2. Select Java Build Path node.
3. Select Libraries tab.
4. Remove JRE System Library.
5. Add Library JRE System Library.
Milad
が提案したように
これは機能しますが、これは推奨されるすべてのJavaランタイムポリシーに反します。ベストプラクティスは、rt.jar(またはtools.jarなどのSunが提供する他のランタイムライブラリ)の使用を避けることです。 )
問題は、Sun.com.*
パッケージからライブラリをインポートしていることです。 Oracleは実際には推奨していません これらのパッケージは将来のリリースで削除される可能性があるか、すべてのJVM実装で使用できるとは限らないため、これらのパッケージの使用はお勧めしません。
Sun.com.*
ライブラリをインポートしようとすると、IDE(どちらを使用していますか?))がエラーを生成するように構成されている可能性があります。その場合、構成を変更すると、これらのライブラリですが、とにかく良い考えではありません。アクセス制限のないライブラリを使用して、探している機能に代わる他の方法を探す必要があります。
また、JPEGファイルの読み取りまたは書き込みを行うだけの場合は、 ImageIO クラスを参照してください。そこには、便利なメソッドがたくさんあります。
多分あなたのjreシステムライブラリは1.8です
またはEclipse:プロジェクトのプロパティ> Javaコンパイラ>エラー/警告>非推奨のAPI
エラーを無視/警告に変更