ForkJoinPoolクラスを使用するプログラムを作成しました。このクラスは、JDK 7のrt.jarライブラリとJDK 6のjsr166.jarライブラリにあります。jsr166.jarライブラリを使用したエラー:java.lang.UnsupportedClassVersionError
私は、JDK 7を持っていますが、プログラムは唯一のNetBeansでコンパイルするときに使用するソース/バイナリフォーマットはJDK 6でJDK 6
ているコンピュータ上で使用可能にしたいコンピュータ上のNetBeansでプログラムをコンパイルしています。私はもともとJDK 7のライブラリrt.jarを使ってプログラムをコンパイルしましたが、JDK 6コンピュータでプログラムを実行したときにエラーが発生しました:
java.lang.SecurityException: Prohibited package name: java.util.concurrent
https://www.javacodegeeks.com/2011/02/java-forkjoin-parallel-programming.html#comment-86433の指示に従ってください。
java.lang.UnsupportedClassVersionError: java/util/concurrent/atomic/AtomicInteger : Unsupported major.minor version 53.0
:
java -Xbootclasspath/p:lib/jsr166.jar -jar code.jar [email protected]
は、しかし、これはエラーを生成します。私はjsr166.jarダウンロードして、正しいディレクトリとファイル名を指定して実行時ライブラリにjsr166.jar入れた
は、コマンドラインを使用しようとしました
53.0は、ウィキペディアによると、に言及したバージョンが9
のAtomicIntegerはtehのForkJoinPool.javaクラス内から呼び出されるJDKのバージョンです。
import java.util.concurrent.atomic.AtomicInteger;
誰でも私にこれを実行する方法のアドバイスを提供できますか?
はどうもありがとうございまし
おそらく、システムには複数のバージョンのJavaがあります。バージョンを確認するコマンドラインからコンパイルしてみてください。 – 11thdimension
私は複数のバージョンがあります。私は自分のコンピュータ上にjdk1.7.0_51を持っていて、netbeansプロジェクトが使うディレクトリにはいくつかの.jarライブラリを持っています。私はこれらのライブラリを両方使用しています。私はjdk1.7.0_51のクラスを使用していますが、これらのクラスはjava/util/concurrent/files以外のnetbeansでJDK 6形式でコンパイルしても問題ありません。だから、私はjdk1.7.0_51からクラスにアクセスし続け、JDK 6フォーマットでコンパイルしている間もこれらの新しいクラスを使い続ける方法を見つけようとしています。これは可能ですか? – James