Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java | Spring Boot中的外部文件读取垃圾收集(GC)配置_Java_Spring Boot_Garbage Collection - Fatal编程技术网

从Java | Spring Boot中的外部文件读取垃圾收集(GC)配置

从Java | Spring Boot中的外部文件读取垃圾收集(GC)配置,java,spring-boot,garbage-collection,Java,Spring Boot,Garbage Collection,使用给定的GC配置运行spring引导jar文件 -Xloggc:/file/path/gc.log -XX:+PrintGCTimeStamps -XX:+打印日期戳 -XX:+PrintGCDetails 但是,当我们运行类似jar的程序时,不是在命令行中传递所有这些GC信息数据 java -Dspring.profiles.active=<env-name> -Xmx5G -Xms2G -XX:MaxMetaspaceSize=2G -XX:+UseG1GC -Xloggc

使用给定的GC配置运行spring引导jar文件

  • -Xloggc:/file/path/gc.log
  • -XX:+PrintGCTimeStamps
  • -XX:+打印日期戳
  • -XX:+PrintGCDetails
但是,当我们运行类似jar的程序时,不是在命令行中传递所有这些GC信息数据

java -Dspring.profiles.active=<env-name> -Xmx5G -Xms2G -XX:MaxMetaspaceSize=2G -XX:+UseG1GC -Xloggc:/file/path/gc.log -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCDetails -jar application.jar
通过像这样运行jar

java @args
将错误获取为

Error: Could not find or load main class @args

它无法找到主类。我认为它没有在
args
文件中识别jar。

如果您使用的是Java 9及更高版本,(
@file1
)应该可以工作1

Java9和更高版本的另一个选项是设置环境变量。这将提供一个选项列表,这些选项将自动添加到
java
命令行的JVM选项之前

对于Java 8和更早版本,您的选项更加有限:

  • java
    命令或应用程序的命令行编写shell包装器脚本、shell函数或shell别名

  • 使用
    java
    命令时显式添加环境变量;e、 g

       $ java $STD_OPTS my.app.Main args ...
    
  • 可以想象,您可以实现一个定制的启动器(在C中),它可以做一些聪明的事情,比如模拟Java9的@file机制



1-根据症状,我认为您尝试使用
@file
失败,可能是因为该文件未在适当的目录中找到,或者是因为您正在使用Java 8或更早版本。

您正在寻找吗?@Slaw,是的。差不多吧。但是,通过使用这种方法,我遇到了一个问题。将用该问题更新问题。@Slaw更新了问题中的问题您使用的是什么版本的Java?如果查看
java-help
的输出,是否会看到
@参数文件
选项?
openjdk版本“1.8.0_222”
。不,我在
java-help
中没有看到任何
@参数文件
选项
   $ java $STD_OPTS my.app.Main args ...