标签: java

在 cmd 中临时更改 JAVA_HOME 不会在 Windows 中临时更改 PATH

JAVA_HOME在用户的环境变量中定义了 jdk11 并PATH包含%JAVA_HOME%/bin在其中。

现在我想cmd通过更改JAVA_HOME为 jdk8在命令提示符 ( ) 中临时切换到 jdk8,但它不会更改当前 cmd 实例中的值pathjava -version不会更改。

PS- 我已经删除了 c:\Program Data\Oracle\java.. 文件以避免任何混淆

windows java path jdk command-line

3
推荐指数
1
解决办法
3万
查看次数

如何在 macOS 的 Fish 中将特定版本的 Java 设置为 JAVA_HOME

我在 macOS 上使用 Bash 作为我的默认 shell,但我决定切换到 Fish。

我正在尝试在不同版本的 Java 之间切换。在 bash 中,它是使用~/.bash_profile

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
Run Code Online (Sandbox Code Playgroud)

我在 Fish 上设置了等价物 ~/.config/fish/fish_variables

set -x JAVA_HOME `/usr/libexec/java_home -v 1.7`
Run Code Online (Sandbox Code Playgroud)

不幸的是,Java 版本并未更改。如何使用~/.config/fish/fish_variables?设置环境变量(特别是特定版本的 Java)?

更新:

根据常见问题解答~/.config/fish/fish_variables~/.config/fish/config.fish应该使用,而不是。我也创建了~/.config/fish/fish.config而不是~/.config/fish/config.fish.

java bash fish macos

3
推荐指数
1
解决办法
3509
查看次数

运行 .jar Java 文件的最小安装量是多少?

我希望运行一个小实用程序(“ Nightly Updater名为 Simutrans 的游戏 ”,NU)。

NU 以 .jar 文件的形式出现,NU 的唯一系统要求是 Java 9。

我的系统中安装了 Java 8(似乎我需要保留它才能运行其他较旧的程序)。

似乎 Java 9不再可用,但我认为 Java 12 将向后兼容 Java 9 程序。

Java 12 安装页面告诉我下载“开发工具包”,它使用了近半 GB 的磁盘空间,但我不想要 IDE 或任何其他开发工具,所以这似乎不合适。我想下载足以在 Windows 7 中以用户身份运行 NU(最好是用户,而不是管理员帐户),仅此而已。

运行 NU 所需的最少 Java 安装是多少?请问在哪里可以找到?

我使用的是 64 位 Windows 7。

java windows-7 user-accounts jdk

3
推荐指数
1
解决办法
1157
查看次数

为什么groovy在使用JDK11时显示警告“发生非法反射访问操作”

当我使用 JDK11,然后安装 Groovy 时,出现了一些警告,如下所示:

WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v7.Java7$1 (file:/D:/Groovy/groovy-2.5.7/lib/groovy-2.5.7.jar) to constructor java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int) WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v7.Java7$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Groovy Version: 2.5.7 JVM: 11.0.3 Vendor: Oracle Corporation OS: Windows 10

当我使用JDK 8时,没有警告,有人知道原因吗?

java groovy

3
推荐指数
1
解决办法
2795
查看次数

VSCode 中 Java 类前面出现的红色时钟是什么?

我正在使用 VSCode 制作 Spring Boot 应用程序,但 Java 类前面有一个红色时钟符号,并且自动完成功能不起作用。我已经安装了 Spring Boot 开发所需的所有扩展以及 Microsoft 的 Java 扩展包。

java visual-studio-code

3
推荐指数
1
解决办法
5053
查看次数

升级到 macOS 10.15.4 导致“jdk-11.0.2.jdk”开发者无法验证错误

我最近将我的笔记本电脑升级到 macOS 10.15.4,现在 Java 将无法从命令行(或我能告诉的任何其他地方)运行,我只看到以下错误消息:

“jdk-11.0.2.jdk”无法打开,因为无法验证开发者

在此处输入图片说明

java jdk macos macos-catalina

3
推荐指数
2
解决办法
1571
查看次数

找不到 javac 命令

我正在尝试编译我在互联网上找到的一个 java 程序,它说我必须检查是否安装了 javac。我很久以前安装了 JDK,所以它应该可以工作,但我收到命令未找到错误:

替代文字

如何解决这个问题?

windows java environment-variables

2
推荐指数
1
解决办法
4万
查看次数

xcopy 不抑制文件/目录查询

我正在尝试使用 xcopy 将文件从一台机器复制到我们网络上的另一台机器作为 Java 程序的一部分。我是这样调用 xcopy 的:

xcopy "C:\Program Files\path\to\my\file" "\\othermachine\c$\Documents and Settings\<myUserName>\Desktop\Test\path\in\directory\structure\to\file" /e /y /i
Run Code Online (Sandbox Code Playgroud)

因为我是在 Java 中从 with 调用它的,所以我需要抑制所有提示。在大多数情况下,\i 和\y 正是这样做的。但是,对于这个文件 /i 失败,我得到文件或目录提示。结果就是挂掉了整个程序。

我还尝试将 /s /t /q 附加到现有选项后调用它,但无济于事。为什么 /i 不能抑制文件或目录提示?是否有我需要调用选项的命令?还有什么我需要做的吗?

编辑:我应该提到,该文件是一个文本文件 - 单行文本。它没有扩展名。它看起来像这样:文件名

java prompt xcopy windows-xp

2
推荐指数
2
解决办法
1万
查看次数

如何将 Java 异常连同正常输出一起传送到文本文件中?

当我在 Windows 命令行中使用 batchfile.bat >> logfile.txt 命令时,它正确地将正常输出输出到文本文件中,但 Java 异常会输出到控制台。我可以这样做,以便将异常也写入日志文件吗?

java console command-line logging pipe

2
推荐指数
1
解决办法
9018
查看次数

java -version 不写入标准输出?

要么我在做一些愚蠢的事情,要么 Sun 是。怎么会像这样:

java -version > version.txt
Run Code Online (Sandbox Code Playgroud)

仍然打印到标准输出并将 version.txt 留空?我正在检查退出代码,它仍然是 0,所以这不是写入 stderr。

我需要这个,因为我正在构建一个测试环境工具并想检查 Java 的版本是否足够,我计划捕捉该版本的输出,但现在我被卡住了。

我使用的是 OS X Leopard,Java 版本 1.6.0_20。

有任何想法吗?

java stdout macos

2
推荐指数
2
解决办法
1453
查看次数