Импорт java.awt не может быть разрешен
Я установил Eclipse [Версия: Photon Release (4.8.0)] и JDK 10 на MacBookPro с macOS 10.13.5 Когда я пишу в своем коде: import java.awt.*;
Я получаю ошибку:
Импорт java.awt не может быть разрешен
Это java.awt
входит в JDK 10? Если да, где и как я могу сделать видимым для Eclipse? Если нет, как я могу добавить java.awt?
2 ответа
Это
java.awt
входит в JDK 10?
Да, пакет существует. Документы API Java10 подтверждают то же самое.
Если да, где и как я могу сделать видимым для Eclipse?
В модульном коде все, что вам нужно сделать, это решить java.desktop
модуль, объявив зависимость от него в файле дескриптора модуля (module-info.java
). т.е.
requires java.desktop;
По сути, просто добавьте эту часть плагина компилятора сборки maven в свой основной проект Maven POM.xml,
чтобы указать, какие модули JDK9+ ДОЛЖНЫ БЫТЬ добавлены для целей компиляции javac .
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
...
<properties>
<java.version>11</java.version>
...
</properties>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<!-- JDK9+ Add Module MAGIC happens below... -->
<!-- Add implicit default JDK9+ java.se explicitly -->
<!-- Add explicit java.desktop for import java.awt.*; -->
<compilerArgs>
<arg>--add-modules</arg>
<arg>java.se,java.desktop</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>
как объяснено здесь:
https://www.baeldung.com/java-9-modularity
Информацию о других часто встречающихся недостающих модулях JDK10+ см. В:
http://cr.openjdk.java.net/~iris/se/10/pfd/java-se-10-pfd-spec-01/api/overview-summary.html