找不到包java.nio.file

时间:2013-11-17 09:42:49

标签: java nio

我的java编译器找不到java.nio.file包。考虑:

import java.nio.file.*;
public class Test {
    public static void main(String[] args) { 
        Path currentRelativePath = Paths.get("");
    }
}

使用

进行编译
bash$ javac Test.java

给出

Test.java:1: package java.nio.file does not exist
import java.nio.file.*;
                ^
Test.java:5: cannot find symbol
symbol  : class Path
location: class Test
    Path currentRelativePath = Paths.get("");
    ^
Test.java:5: cannot find symbol
symbol  : variable Paths
location: class Test
    Path currentRelativePath = Paths.get("");
                               ^
3 errors

我正在使用Ubuntu 12.04,我认为我安装了JDK 7(参见:package java.nio.file does not exist

bash$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

6 个答案:

答案 0 :(得分:10)

完全有可能你有java 1.7,但javac 1.6甚至1.5

也许你可以使用

sudo update-alternatives --config javac

配置它。如果您不能选择1.7,那么您需要升级JDK包。

答案 1 :(得分:7)

Java NIO是在Java 7中引入的。来自早期版本JDK的编译器将对包含这些NIO类的任何代码产生影响。您需要升级到JDK 7.

答案 2 :(得分:4)

我会检查

javac -version

因为您可能没有正确安装Java 7 JDK,所以只有java,可能是JRE。

答案 3 :(得分:1)

确保您已经传递了JAVA_HOMEPATH这是Java 7安装目录的正确地址。

答案 4 :(得分:0)

我有同样的问题。我使用Eclipse。有一个选项可以设置“ JDK合规性”。我从1.5设置为1.8,然后重新编译了项目。现在很好。我建议全局设置并在项目级别禁用此选项。 enter image description here

答案 5 :(得分:0)

检查您的 builde.gradle 文件中是否有“sourceCompatility”,例如:

sourceCompatibility = 'your_jdk_version'

并检查您的:文件 |设置 |构建、执行、部署 |构建工具 |摇篮

具有所选版本的 Gradle JVM。