繁体   English   中英

为什么 vm JAVA_OPTIONS 在码头不起作用

[英]why the vm JAVA_OPTIONS does not work in jetty

我不熟悉 shell,也许这让我很困惑,但我不知道是什么导致了这个问题。 当使用 jetty 8.1.13 容器开发 Web 程序时,在 start.ini 文件中我添加了一些参数(参考来自https://www.eclipse.org/jetty/documentation/current/enable-remote-debugging.html

 --exec -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n

在 jetty.sh 文件中,我添加了一些 -D vm 选项,例如

 JAVA_OPTIONS="-Dargs=switch" export JAVA_OPTIONS

然后我开始通过码头

bin/jetty.sh start

然后shell创建两个进程,通过命令

ps aux | grep jetty

我们找到了两个过程,比如

lawrence         26180   0.0 12.3  8900580 1034116 s000  S    11:03下午   1:13.71 /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/bin/java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n -Xmx2000m -Xmn512m -Djetty.home=/Users/lawrence/tools/jetty-dist-8.1.13 -cp /Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-xml-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/servlet-api-3.0.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-http-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-continuation-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-server-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-security-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-servlet-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-webapp-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-deploy-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-servlets-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-annotations-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/annotations/javax.annotation-1.1.0.v201108011116.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/annotations/org.objectweb.asm-3.1.0.v200803061910.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-jmx-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/com.sun.el-2.2.0.v201108011116.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/javax.el-2.2.0.v201108011116.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/javax.servlet.jsp-2.2.0.v201112011158.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/org.apache.jasper.glassfish-2.2.2.v201112011158.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jsp/org.eclipse.jdt.core-3.7.1.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-jndi-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-plus-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jndi/javax.activation-1.1.0.v201105071233.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jndi/javax.mail.glassfish-1.4.1.v201005082020.jar:/Users/lawrence/tools/jetty-dist-8.1.13/resources:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-websocket-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-util-8.1.13.v20130916.jar:/Users/lawrence/tools/jetty-dist-8.1.13/lib/jetty-io-8.1.13.v20130916.jar org.eclipse.jetty.xml.XmlConfiguration /var/folders/tl/dy87zyw579ggfx32tlv8tn3r0000gn/T/start8991351085930913981.properties /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-annotations.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-deploy.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-webapps.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-contexts.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-testrealm.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-logging.xml /Users/lawrence/tools/jetty-dist-8.1.13/etc/jetty-started.xml
lawrence         26177   0.0  0.2  7864928  19696 s000  S    11:03下午   0:01.30 /usr/bin/java -Dargs=switch -Djetty.state=/Users/lawrence/tools/jetty-dist-8.1.13/jetty.state -Djetty.home=/Users/lawrence/tools/jetty-dist-8.1.13 -Djava.io.tmpdir=/var/folders/tl/dy87zyw579ggfx32tlv8tn3r0000gn/T/ -jar /Users/lawrence/tools/jetty-dist-8.1.13/start.jar etc/jetty-logging.xml etc/jetty-started.xml

args=switch jvm 选项应该在主进程 26177 中按预期读取,但遗憾的是它没有。

那么,当我们使用 --exec 参数 fork() 一个新的子进程时,这个命令实际上做了什么,为什么这个 shell 无法读取 -D jvm 选项甚至命令行中的 -D jvm 选项? 有人请帮忙解决这个问题吗? 非常感谢。

如果您在 java 命令行(在主类之前)使用了 -Dkey=value 名称,那么这些名称将不会被转发到分叉的 JVM。 但是,如果您在主类之后或在 ${jetty.base}/start.ini 文件中使用 -Dkey=value ,那么这些系统属性将转发到分叉的 JVM。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM