当前位置: 首页 > 面试题库 >

使用JAVA_OPTS env变量运行Java无效

安高翰
2023-03-14
问题内容

在shell脚本中,我设置了JAVA_OPTS环境变量(以启用远程调试并增加内存),然后按如下所示执行jar文件

export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Xms512m -Xmx512m"
java -jar analyse.jar $*

但是似乎JAVA_OPTS env变量没有任何作用,因为我无法连接到远程调试,并且我发现JVM的内存没有变化。

可能是什么问题呢?

PS:我无法在java -jar analyse.jar $*命令中使用这些设置,因为我在应用程序中处理命令行参数。


问题答案:

我不知道任何JVM实际检查JAVA_OPTS环境变量。通常,这在启动JVM的脚本中使用,它们通常只是将其添加到java命令行中。

要了解这里的关键问题是,参数java是来 之前-jar analyse.jar位只会影响JVM并 不会
沿着你的程序通过。因此,java将脚本中的行修改为:

java $JAVA_OPTS -jar analyse.jar $*

应该“工作”。



 类似资料:
  • 问题内容: public class MyThread { volatile static int i; 由于易失性构建发生在关系之前,因此i的最终值应严格为2000000。但是,实际结果与变量i不具有易失性没有什么不同。谁能解释为什么它在这里不起作用?由于我被声明为volatile,因此应该保护它免受内存不一致的影响。 问题答案: 谁能解释为什么它在这里不起作用?由于我被声明为volatile,

  • 这可能是一个基本问题,但我对Oracle SQL还不熟悉。我正在尝试让下面的SQL在Oracle SQL Developer中执行。错误信息在代码下面。粘贴错误消息后,我修改了代码。第28行是代码中的最后一行,“结束第14行第1列提到“选择”一词。 错误报告-ORA-06550:第28行,第24列:PL/SQL:ORA-00933:SQL命令未正确结束ORA-06550:第14行,第1列:PL/S

  • 如果将Xmx设置为967或更高的值,则无法运行java。 C:\documents and settings\salesforce>java-xmx967m-VM初始化时发生版本错误,无法为对象堆预留足够的空间。错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。 在执行命令之前,有3GB的ram可用(任务管理器)。 环境: Java 1.7.0_25 32bits Windows se

  • 线程“main”java.io.ioException中出现异常:无法运行程序“java” 但是当我从终端上运行任何java命令时,它们都工作得很好。 我发现的另一件事是,当我在终端中运行命令:并使用ProcessBuilder()时,它们会显示不同的输出。即ProcessBuilder命令中不显示jdk/bin的路径。 我如何解决这个问题?

  • null 有没有人知道如何在不回到Java8的情况下修复它? 安装android-sdk失败 这个帖子问了一个类似的问题。然而,该帖子已经关闭,唯一的答案是返回Java8。

  • 我是owlapi的新手,我正尝试在debian上编写一个java代码示例,以加载我已经使用Protégé构建的本体。我正在使用“owlapi-osgiDistribution-4.0.2.jar”,但总是得到这个错误: 我试图使用maven进行依赖,但徒劳。谁能告诉我如何解决这个问题,谢谢。