2011-02-09 5 views
6

私はJavaコードを見つけて、私のプロジェクトでそれを使いたいと思っています。それは私のJDKはありませんこれらの輸入品が含まれていますcom.sun.awtパッケージの使用

import com.sun.awt.AWTUtilities; 
import com.sun.jna.Native; 
import com.sun.jna.platform.WindowUtils; 

私は太陽のサイトを参照して、このダウンロードページが見つかりました:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

は、それはすべてのJDKおよびJREをダウンロードし、それを交換する必要がありますサンウェブサイトから?私のJDKはバージョン6で最新です。

ありがとうすべて

答えて

8

JNAは標準ライブラリの一部ではありません。ダウンロードする必要があります(here)、クラスパスに追加する必要があります。

AWTUtilitiesクラスは、apiの実装の詳細としてsun jvmとともに配布されているだけで、変更する可能性があります(可能な場合はdon't use it)。

WindowUtilsは、platform.jarにあります.jnaと同じページで見つけることができます。

+0

ありがとうございます。しかし、あなたが含まれているjarファイルを見つける方法を知っていますか?com.sun.jna.platform.WindowUtils?私はLinux上で自分のコードを実行したいので、これは私にとって重要です。 – sajad

+0

@sajadさんが私の答えを更新しました。 – josefx

3

あなたは最後の手段として以外の任意のはcom.sunパッケージを使用しないでください。これらは実装の詳細とみなされ、JDK APIの一部ではありません。バージョン間で任意に変更できるため、JDKバージョンをアップグレードしようとすると問題が発生する可能性があります。

ほとんどの場合、com.sunクラスは「公式」クラスでラップされています。代わりにそれらを使用する必要があります。最後の手段でこれらを使用することはできますが、すでにJDKのダウンロードに含まれているため、追加のダウンロードは必要ありません。

EDIT:あなたが正しいように見えます。余分なジャーをダウンロードする必要があります。 JNA jarはmaven central(http://mvnrepository.com/artifact/com.sun.jna/jna/3.0.9)から入手できます。特にこれが見つかったコードスニペットの場合は、com.sunパッケージを直接使用することを強くお勧めします。

+0

ありがとうございます。はいcom.sun.AWTUtilitiesについてしかし、import com.sun.jna.Native; com.sun.jna.platform.WindowUtils; まだ私の問題ですか?私は私のプロジェクトに外部ライブラリを追加する必要があると思う。 – sajad

+0

はいjna 3.0.9にはcom.sun.jna.Nativeがあります。しかし、com.sun.jna.platform.WindowUtilsはどうでしょうか?このクラスには、コードで使用されるGraphiConfigurationsオブジェクトを返すWindowUtils.getAlphaCompatibleGraphicsConfiguration()メソッドがあります。私はまた、Linuxで自分のコードを実行したい。これは私にとって重要です。これはjnaの最後のバージョンですか?ありがとうございました。 – sajad

5

あなたのJDKはcom.sun.awt.AWTUtilitiesである必要があります。それはrt.jarにあります。

おそらく、そのファイルの問題は、あなたのIDEがビルドパスの親を除外しているということです。そのクラスを直接使うのは悪い考えです。

com.sun.jnaクラスはrt.jarにありません。彼らは明らかにjna.jarで見つかるかもしれませんが、私はまだそれをダウンロードするには良い場所を見つけていません。 (Mavenを使用している場合はthisを試してください)

+0

ありがとうございます。はいcom.sun.AWTUtilitiesについてしかし、import com.sun.jna.Native; com.sun.jna.platform.WindowUtils; まだ私の問題ですか?私は私のプロジェクトに外部ライブラリを追加する必要があると思う。 – sajad

+0

@sajad - あなたもそうだと思います。 –

+0

@StephenC。私も同じ問題がありました。私のIDEはIDEのデフォルト1.6でした。私はそれを解決するのにとても長い時間を費やしましたが、私はできませんでした。幸いにも私はあなたの答えを見つけました。あなたの助言は100%私を助け、私のために完全に働いた。あなたは完璧な完璧な男です。すべてのメリットsoooooooooooありがとうございました。私ができるならば、私は10000倍にupvote。 –

関連する問題