原因: JAVA_OPTS只对tomcat/weblogic等Web服务器中间件有效,以“java -cp [*.jar] test.Main”方式运行的不会去读取JAVA_OPTS,所以通过java -cp执行相关文件会报错。
JAVA_OPTS在 tomcat/bin/catalina.sh或tomcat/bin/catalina.bat文件配置,这可配置java进程虚拟机的启动参数 。
解决方案: 1、如果在运行java类,需要设置Heap Size的话,需要如下方式:
java -Xmx2048m -jar test.jar或
java -Xmx1024m -cp douglas.jar com.douglas.Main2、如果是在Unix或者linux服务器上,可以直接写下如下语句
#系统环境变量,单独执行一次即可 export JAVA_OPTS=-Xmx1024m -Djava.awt.headless=true #执行文件 java $JAVA_OPTS -cp douglas.jar com.douglas.Main3、启动脚本文件test.sh文件,写下:
#!/bin/sh classpath=./douglas.jar /usr/java5/bin/java -Xmx1024M -cp $classpath com.douglas.Main4、也可以通过nohup后台执行,并输出日志命令
#后台进程执行命令 nohup java $JAVA_OPTS -cp "xxx.jar" com.douglas.Main >> catalina.out 2>&1 &参考: https://www.cnblogs.com/pachongshangdexuebi/p/5583365.html