Tôi cần chuyển nhiều thuộc tính hệ thống cho Tomcat 6 thông qua biến môi trường JAVA_OPTS. Tôi dường như không thể vượt qua thuộc tính hệ thống có chứa không gian:Việc chuyển các thuộc tính hệ thống có chứa khoảng trắng tới Tomcat qua JAVA_OPTS
JRE_HOME=/root/jre1.6.0_34/ JAVA_OPTS="-DsysProp1=foo -DsysProp2=bar with spaces" ./catalina.sh run
Không với:
Using CATALINA_BASE: /root/apache-tomcat-6.0.37
Using CATALINA_HOME: /root/apache-tomcat-6.0.37
Using CATALINA_TMPDIR: /root/apache-tomcat-6.0.37/temp
Using JRE_HOME: /root/jre1.6.0_34/
Using CLASSPATH: /root/apache-tomcat-6.0.37/bin/bootstrap.jar
Exception in thread "main" java.lang.NoClassDefFoundError: with
Caused by: java.lang.ClassNotFoundException: with
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: with. Program will exit.
Tôi nhìn xung quanh trên SO và câu trả lời dường như không giúp đỡ. Đã thử tất cả những điều này không thành công:
JRE_HOME=/root/jre1.6.0_34/ JAVA_OPTS="-DsysProp1=foo -DsysProp2=\"bar with spaces\"" ./catalina.sh run
JRE_HOME=/root/jre1.6.0_34/ JAVA_OPTS='-DsysProp1=foo -DsysProp2="bar with spaces"' ./catalina.sh run
JRE_HOME=/root/jre1.6.0_34/ JAVA_OPTS='-DsysProp1=foo -DsysProp2=bar\ with\ spaces' ./catalina.sh run
Bạn có thể hiển thị tập lệnh cataline.sh không? Có lẽ vấn đề là bên trong kịch bản đó –
catalina.sh là kịch bản khởi động của Tomcat, vì vậy tôi sẽ không muốn sửa đổi nó. Bạn có thể xem tại đây: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_34/bin/catalina.sh – AlexBrand
Tôi quan tâm đến tất cả các con đường của bạn dưới '/ root' - Tôi hy vọng bạn không chạy Tomcat là người dùng root ... –