简体   繁体   中英

The import java.awt cannot be resolved

I have installed the Eclipse [Version: Photon Release (4.8.0)] and JDK 10 on a MacBookPro with macOS 10.13.5 When I write in my code: import java.awt.*;

I get the error:

The import java.awt cannot be resolved

Is the java.awt included in JDK 10 ? If yes where is and how can I make visible to Eclipse? If no how can I add java.awt?

Is the java.awt included in JDK 10?

Ye, the package does exist. The Java10 API docs do confirm the same as well.

If yes where is and how can I make visible to Eclipse?

In a modular code, all you need to do, is to resolve the java.desktop module by declaring a dependency on it in your module-descriptor file( module-info.java ). ie

requires java.desktop;

Basically, just add this maven build compiler plugin portion to your main project Maven POM.xml
to specify which JDK9+ modules MUST BE added for javac compilation purposes.

  <?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>

as explained here:

https://www.baeldung.com/java-9-modularity

For other common missing JDK10+ modules, please refer to:

http://cr.openjdk.java.net/~iris/se/10/pfd/java-se-10-pfd-spec-01/api/overview-summary.html

I have tried this, and in fact the error dissapears, but the program is unstable. I will try to do anything and it will randomly crash. I don't know what to do, but it just won't work, it's unusable.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM