Импорт 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

Другие вопросы по тегам