setenv.sh中的多行JAVA_选项
我正试图在Ubuntu12/Tomcat7上设置我的setenv.sh中的多行JAVA_选项,java,tomcat7,Java,Tomcat7,我正试图在Ubuntu12/Tomcat7上设置我的setenv.sh。 Tomcat已经安装了apt get 我试图创建一个多行JAVA\u OPTS变量,但一直遇到错误消息 #!/bin/sh export JAVA_OPTS="$JAVA_OPTS -server \ -Xms512m -Xmx512m" : not foundtomcat7/bin/catalina.sh: 4: /usr/share/tomcat7/bin/setenv.sh: Using CATALINA_BAS
setenv.sh
。
Tomcat已经安装了apt get
我试图创建一个多行JAVA\u OPTS
变量,但一直遇到错误消息
#!/bin/sh
export JAVA_OPTS="$JAVA_OPTS -server \
-Xms512m -Xmx512m"
: not foundtomcat7/bin/catalina.sh: 4: /usr/share/tomcat7/bin/setenv.sh:
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr/lib/jvm/java-7-oracle/
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Error: Could not find or load main class
我已将其更新为此,但在echo位置仅显示最后一行
#!/bin/sh
JAVA_OPTS="$JAVA_OPTS -server -Xms704m -Xmx704m"
JAVA_OPTS="$JAVA_OPTS -XX:OnOutOfMemoryError=/usr/share/scripts/on_server_crash.sh"
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tomcat7"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=128m -XX:MaxNewSize=256m -XX:NewSize=256m"
echo $JAVA_OPTS
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=12 -XX:MaxTenuringThreshold=0"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSPermGenSweepingEnabled -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC -XX:+UseTLAB"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -javaagent:$NR_JAR -Dnewrelic.environment=production"
echo $JAVA_OPTS
export JAVA_OPTS
当我在没有导出选项的情况下尝试“每个命令在其自己的行上”时,会得到“unrecognized option-server”
#!/bin/sh
JAVA_OPTS="$JAVA_OPTS -server"
JAVA_OPTS="$JAVA_OPTS -Xms704m"
JAVA_OPTS="$JAVA_OPTS -Xmx704m"
JAVA_OPTS="$JAVA_OPTS -XX:OnOutOfMemoryError=/usr/share/scripts/on_server_crash.sh"
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=/var/log/tomcat7"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=128m"
JAVA_OPTS="$JAVA_OPTS -XX:MaxNewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:NewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=12"
JAVA_OPTS="$JAVA_OPTS -XX:MaxTenuringThreshold=0"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalMode"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalPacing"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSPermGenSweepingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseTLAB"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -javaagent:$NR_JAR"
JAVA_OPTS="$JAVA_OPTS -Dnewrelic.environment=production"
echo JAVA_OPTS
你最好是:
JAVA_OPTS="$JAVA_OPTS -server "
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m"
export JAVA_OPTS
嗯,删除了整个文件并重新创建了它,现在它可以工作了。。。。。 现在使用这个样式
export JAVA_OPTS="$JAVA_OPTS\
-server\
-Xms704m\
-Xmx704m\
-XX:OnOutOfMemoryError=/usr/share/scripts/on_server_crash.sh\
-XX:+HeapDumpOnOutOfMemoryError\
-XX:HeapDumpPath=/var/log/tomcat7\
-XX:MaxPermSize=128m\
-XX:MaxNewSize=256m\
-XX:NewSize=256m\
-XX:SurvivorRatio=12\
-XX:MaxTenuringThreshold=0\
-XX:+UseConcMarkSweepGC\
-XX:+CMSIncrementalMode\
-XX:+CMSIncrementalPacing\
-XX:+CMSClassUnloadingEnabled\
-XX:+CMSPermGenSweepingEnabled\
-XX:+DisableExplicitGC\
-XX:+UseParNewGC\
-XX:+UseTLAB\
-Djava.awt.headless=true\
-javaagent:$NR_JAR\
-Dnewrelic. environment=production"
最后使用类似于Marc的东西,但在属性定义中使用空格转义
export JAVA_OPTS="$JAVA_OPTS \
-DFOO=\"bar bar\" \
-DBAZ=\"bar2 bar2\" "
请把{}给我代码按钮-这将为您设置格式。请您显示您试图在shell上执行的整行代码,即
java$java_OPTS…
我已根据bmargulies的建议更新了我的答案。但是,它似乎只将最后一次调用设置为java_OPTS,而不包括以前的语句。可能是您的错误Answer发现了这一点并尝试了这一点。没有用。出现了一些奇怪的情况。我在一台使用tomcat6/jdk6等的旧服务器上尝试了上述各种方法,效果很好。我尝试了,但如果我在最后回显JAVA_选项,我只会看到-Mms512m-xmx512 m(而不是-server-XMs512m-mmx512 m)这是如何工作的?分配两次并期望得到连接?这是设置许多属性的标准方法-您经常在应用程序服务器等(tomcat、glassfish等)中看到它.这是我建议的答案too@DariuszWawer请注意,原始问题的版本也是这样工作的。shell被定义为在分配给LHS之前扩展RHS。它对“RHS”的位置非常敏感。如果Tomcat7不能正确启动。可能是有什么事要做
export JAVA_OPTS="$JAVA_OPTS \
-DFOO=\"bar bar\" \
-DBAZ=\"bar2 bar2\" "