0

我的 GlassFish(Payara) 服务器的本地实例有问题。当我通过 IntelliJ(重新)部署 JSP-Projekt 时,即使重新部署成功,我也会收到以下警告:

Address localhost:4848 is already in use

为了解决这个警告,我结束了一个正在监听这个端口的正在运行的 java-instance。自从我尝试重新部署我的 JSP 项目以来,我收到了错误消息

I don't understand the format of this jvm-option: "-javaagent:C:\Program

每次。服务器没有运行,因此我无法连接它。也无法通过控制台或批处理文件手动启动 GlassFish 服务器。

jvm的给定文件路径似乎有问题。有谁知道它是如何存储的以及如何手动更改它?

4

1 回答 1

0

问题在于C:\Program Files. 对此的常见解决方案是用引号将路径括起来,但这有时会因为其他字符串中的引号中的路径也被包含在引号中而变得一团糟。考虑这样的事情:

JAVA_HOME="C:\Program Files\some\path\to\java"

脚本可能会使用此环境变量,但由于意识到 Windows 路径中的空格问题,请再次用引号将环境变量的值括起来。

所以,当它被使用时,就像这样:

\"%JAVA_HOME%\bin\java.exe\" -jar myApp.jar

这将是:

""C:\Program Files\some\path\to\java"\bin\java.exe" -jar myApp.jar

所以有一组引号围绕着什么,它们被有效地忽略了,引号围绕着路径的末端,仍然是一个混淆事物的空间

您需要提前知道您的脚本如何期望路径,并确保没有两个脚本期望路径采用不同的格式。

不过,Windows 有一个替代解决方案 - 这些目录具有短名称,首先不包含空格。

这个 SuperUser.com 答案显示了如何找到给定目录的短名称,以便您可以将上面的内容重写为如下:

JAVA_HOME=C:\PROGRA~1\some\path\to\java

您现在不再有内部引号和不确定环境变量是否影响脚本的问题

于 2016-02-10T11:19:58.003 回答