com.солнце.использование пакета awt

Я нашел java code и хочу использовать его в своем проекте. Он содержит эти импорта, которые my JDK нет :

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

Я сослался на сайт sun и нашел эту страницу загрузки:

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

необходимо ли загружать все JDK и JRE и заменить его с веб-сайта SUN? Мой JDK версия 6 и в актуальном состоянии.

спасибо все!--7-->

3 ответов


JNA является дополнительной библиотекой, а не частью стандартного api, вы должны загрузить его (здесь) и включить его в ваш classpath.

на AWTUtilities класс распространяется только с sun jvm в качестве детали реализации api и как таковой может быть изменен, это может сломать любую программу в зависимости от нее (если это возможно не использовать).

WindowUtils можно найти в платформе.фляги, вы его сможете найти его на той же странице Юна.


ваш JDK должен иметь com.sun.awt.AWTUtilities. Это в rt.jar.

возможно, проблема (для этого файла) заключается в том, что ваша IDE исключает родительский путь сборки ... на том основании, что использовать эти классы напрямую-плохая идея.

на com.sun.jna классы не в rt.jar. Они, видимо, можно найти в jna.jar, хотя я еще не нашел хорошего места для его загрузки. (Если вы используете Maven, попробовать этой.)


вы не должны использовать com.sun пакеты, кроме как в крайнем случае. Они считаются деталями реализации,и они не являются частью API JDK. Они могут изменяться произвольно между версиями, поэтому они могут вызвать проблемы при попытке обновления версий JDK.

в COM.классы sun почти всегда обернуты "официальными" классами - вы должны использовать их вместо этого. Вы можете использовать их в крайнем случае, но они уже являются частью загрузки JDK, поэтому там не должно быть никакой дополнительной загрузки.

EDIT: Похоже, вы правы, вам нужно загрузить дополнительные банки. JNA jar доступен на Maven central (http://mvnrepository.com/artifact/com.sun.jna/jna/3.0.9). Особенно, если это фрагмент кода, который вы нашли, я бы настоятельно рекомендовал не использовать com.пакеты солнца сразу.