gpt4 book ai didi

java - Diamond 速记语法不适用于 javac

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:31 25 4
gpt4 key购买 nike

当我编译这个时:

LinkedBlockingDeque<Integer> q = new LinkedBlockingDeque<>();

在 Eclipse Java EE Kepler 版本中,一切正常,但是一旦我尝试在终端中使用

编译相同的程序

javac myProgram.java

在命令行中,我在 <>

上收到“非法类型开始”错误

我知道 Java 7 附带了 Diamond Shorthand,那么为什么终端会使用 java 6 而不是 7 的 javac 呢?我该如何永久纠正这个问题?我使用的是 Linux,Mint 15。

运行 javac -version 揭示了这一点

~ $ javac -version
javac 1.6.0_27

最佳答案

显然您安装了两个不同版本的 java。在 Eclipse 中,您可以指定 JDK 的位置 - 设置为 1.7。但是在终端中,您的 PATH 变量(首先)包含 JDK 1.6 的位置。由于看起来您正在运行 linux/unix,请尝试打印您的 PATH 变量:

$ echo $PATH

您将在其中看到 JDK 1.6 的路径; JDK 1.7 的路径也可能存在,但位于 JDK 1.6 路径之后。编辑您的 ~/.profile 文件并相应地编辑路径 - 删除 JDK 1.6 并添加 JDK 1.7。

另一方面,如果在系统级别设置了 JDK 1.6 的路径(例如在 /etc/profile 中),那么最简单的做法就是将此行添加到您的 ~/.profile 文件中:

export PATH="/path/to/jdk1.7/bin:$PATH"

编辑此文件后,注销并重新登录。

关于java - Diamond 速记语法不适用于 javac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22528064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com