Config error java.lang.IllegalStateException: No object for refid=DeploymentManager at <Ref refid="DeploymentManager">
fgolzari opened this issue · 4 comments
Jetty Version
12
Jetty Environment
ee10
Java Version
21
Question
I have upgraded my project from jetty 9 to 12,
In the Jetty 12 server, jetty-ee10-deploy.xml is as below:,
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call id="DeploymentManager" name="getBean">
<Arg>
<Call class="java.lang.Class" name="forName">
<Arg>org.eclipse.jetty.deploy.DeploymentManager</Arg>
</Call>
</Arg>
</Call>
<Ref refid="Environment">
<Call name="setAttribute">
<Arg>contextHandlerClass</Arg>
<Arg>
<Property name="contextHandlerClass"/>
</Arg>
</Call>
</Ref>
<Ref refid="DeploymentManager">
<Call name="addAppProvider">
<Arg>
<New id="WebAppProvider-ee10" class="org.eclipse.jetty.deploy.providers.ContextProvider">
<Set name="environmentName">ee10</Set>
<Set name="monitoredDirName">
<Call name="resolvePath" class="org.eclipse.jetty.xml.XmlConfiguration">
<Arg>
<Property name="jetty.base"/>
</Arg>
<Arg>
<Property name="jetty.deploy.monitoredDir" default="webapps"/>
</Arg>
</Call>
</Set>
<Set name="defaultsDescriptor">
<Property>
<Name>jetty.deploy.defaultsDescriptorPath</Name>
<Deprecated>jetty.deploy.defaultsDescriptor</Deprecated>
<Default>
<Property name="jetty.home" default="." />/etc/webdefault-ee10.xml
</Default>
</Property>
</Set>
<Set name="deferInitialScan" property="jetty.deploy.deferInitialScan"/>
<Set name="scanInterval" property="jetty.deploy.scanInterval"/>
<Set name="extractWars" property="jetty.deploy.extractWars"/>
<Set name="parentLoaderPriority" property="jetty.deploy.parentLoaderPriority"/>
<Set name="configurationClasses" property="jetty.deploy.configurationClasses"/>
<Get name="properties">
<Put name="jetty.deploy.containerScanJarPattern">
<Property name="jetty.deploy.containerScanJarPattern">
<Default>.*/jakarta.servlet-api-[^/]*\.jar$|.*jakarta.servlet.jsp.jstl-.*\.jar$</Default>
</Property>
</Put>
<Put name="jetty.deploy.webInfScanJarPattern">
<Property name="jetty.deploy.webInfScanJarPattern"/>
</Put>
<Put name="jetty.deploy.servletContainerInitializerExclusionPattern">
<Property name="jetty.deploy.servletContainerInitializerExclusionPattern"/>
</Put>
<Put name="jetty.deploy.servletContainerInitializerOrder">
<Property name="jetty.deploy.servletContainerInitializerOrder"/>
</Put>
</Get>
</New>
</Arg>
</Call>
</Ref>
</Configure>
I get this error when deploying the project : oejx.XmlConfiguration:main: Config error java.lang.IllegalStateException: No object for refid=DeploymentManager at <Ref refid="DeploymentManager">
We need a reproduction case for this, or far more detail about how you are configuring / running your jetty instance.
As this does not happen for us, the jetty-home tests, the jetty-home demos, the docker images and their tests, or countless other deployment scenarios with the DeploymentManager in use.
Please copy/paste the output of these commands into here (please do not use images or screenshots).
cd /path/to/my-jetty-base
java -jar /path/to/jetty-home/start.jar --list-config
@joakime
output with your command:
Enabled Modules:
JVM Version & Properties:
java.home = /opt/chmail/common/lib/jvm/openjdk-21.0.3-chmail
java.vm.vendor = Oracle Corporation
java.vm.version = 21.0.3+7-LTS-152
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.info = mixed mode, sharing
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 21.0.3+7-LTS-152
java.io.tmpdir = /tmp
user.dir = /opt/chmail
user.language = en
user.country = US
Jetty Version & Properties:
jetty.version = 12.0.11
jetty.tag.version = jetty-12.0.11
jetty.build = 9f90cedce372142f30c744a16a38d2c6bf634ab6
jetty.home = /opt/chmail/common/jetty_home
jetty.base = /opt/chmail
Config Search Order:
<command-line>
${jetty.base} -> /opt/chmail
${jetty.home} -> /opt/chmail/common/jetty_home
System Properties:
(no system properties specified)
Properties: Jetty
java.version = 21.0.3
java.version.major = 21
java.version.micro = 3
java.version.minor = 0
java.version.platform = 21
jetty.base = /opt/chmail
jetty.base.uri = file:///opt/chmail
jetty.home = /opt/chmail/common/jetty_home
jetty.home.uri = file:///opt/chmail/common/jetty_home
runtime.feature.alpn = true
Classpath: Jetty
No classpath entries and/or version information available show.
Active XMLS: Jetty
(no xml files specified)
output with my command:
/opt/chmail/common/bin/java_mailboxd -Djavax.net.debug=all -Dfile.encoding=UTF-8 -server
-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2, TLSv1.3 -Djdk.tls.client.protocols=TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
-Djava.awt.headless=true -Dsun.net.inetaddr.ttl=60 -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45
-XX:-OmitStackTraceInFastThrow -verbose:gc
-Xlog:gc*=info,safepoint=info:file=/opt/chmail/log/gc.log:time:filecount=20,filesize=10m
-Djava.security.egd=file:/dev/./urandom --add-opens java.base/java.lang-ALL-UNNAMED
-Djava.net.preferIPv4Stack=true -Xss256k -Xms2048m -Xmx2048m -Djava.io.tmpdir=/opt/chmail/mailboxd/work
-Djava.library.path=/opt/chmail/lib -Dchmail.config=/opt/chmail/conf/localconfig.xml --module-path
/opt/chmail/mailboxd/common/endorsed -Djetty.base=/opt/chmail/mailboxd -Djetty.home=/opt/chmail/common/jetty_home
-DSTART=/opt/chmail/mailboxd/etc/start.config -jar /opt/chmail/common/jetty_home/start.jar
--module=chmail,server,ee10-servlet,ee10-servlets,ee10-jsp,ee10-jstl,jmx,ee10-websocket-jakarta,ee10-websocket-jetty
,ee10-websocket-jetty-client-webapp,resources,ext,plus,rewrite,ee-webapp,ee10-webapp,setuid,http,ee10-deploy,ee10-
apache-jsp jetty.home=/opt/chmail/common/jetty_home jetty.base=/opt/chmail/mailboxd
/opt/chmail/mailboxd/etc/jetty.xml --list-config
Enabled Modules:
0) resources
1) logging/slf4j
2) logging-jetty
3) bytebufferpool
4) client
5) ext
6) threadpool
7) server
8) sessions
9) ee10-servlet
10) security
11) ee10-security
12) plus
13) jndi
14) ee-webapp
15) ee10-webapp
16) ee10-plus
17) ee10-annotations
18) ee10-apache-jsp
19) deploy
20) ee10-deploy
21) ee10-glassfish-jstl
22) ee10-jsp
23) ee10-jstl
24) ee10-servlets
25) ee10-websocket-jakarta
26) websocket-jetty
27) ee10-websocket-jetty
28) websocket-jetty-client
29) ee10-websocket-jetty-client-webapp
30) http
31) jmx
32) chmail
33) rewrite
34) setuid
${jetty.base}/start.d/resources.ini
transitive provider of logging/slf4j for logging-jetty
dynamic dependency of logging-jetty
transitive provider of logging for threadpool
transitive provider of logging for bytebufferpool
transitive provider of logging for server
transitive provider of bytebufferpool for server
ini template available with --add-modules bytebufferpool
transitive provider of client for ee10-websocket-jetty-client-webapp
transitive provider of client for ee10-websocket-jakarta
transitive provider of client for websocket-jetty-client
${jetty.base}/start.d/ext.ini
transitive provider of threadpool for server
ini template available with --add-modules=threadpool
${jetty.base}/start.d/server.ini
transitive provider of sessions for ee10-servlet
ini template available with --add-modules sessions
${jetty.base}/start.d/ee10-servlet.ini
transitive provider of security for ee10-security
transitive provider of ee10-security for ee10-webapp
transitive provider of ee10-security for ee10-plus
${jetty.base}/start.d/plus.ini
transitive provider of jndi for ee10-plus
<command-line>
${jetty.base}/start.d/ee10-webapp.ini
transitive provider of ee10-plus for ee10-annotations
transitive provider of ee10-annotations for ee10-websocket-jetty
transitive provider of ee10-annotations for ee10-jsp
transitive provider of ee10-annotations for ee10-websocket-jakarta
transitive provider of ee10-annotations for ee10-apache-jsp
transitive provider of ee10-annotations for ee10-websocket-jetty-client-webapp
${jetty.base}/start.d/ee10-apache-jsp.ini
transitive provider of deploy for ee10-deploy
${jetty.base}/start.d/ee10-deploy.ini
transitive provider of ee10-glassfish-jstl for ee10-jstl
${jetty.base}/start.d/ee10-jsp.ini
${jetty.base}/start.d/ee10-jstl.ini
${jetty.base}/start.d/ee10-servlets.ini
${jetty.base}/start.d/ee10-websocket-jakarta.ini
transitive provider of websocket-jetty for ee10-websocket-jetty
${jetty.base}/start.d/ee10-websocket-jetty.ini
transitive provider of websocket-jetty-client for ee10-websocket-jetty-client-webapp
${jetty.base}/start.d/http.ini
${jetty.base}/start.d/jmx.ini
${jetty.base}/start.d/chmail.ini
${jetty.base}/start.d/rewrite.ini
${jetty.base}/start.d/setuid.ini
webapp ${jetty.base}/start.d/ee10-websocket-jetty-client-webapp.ini
JVM Version & Properties:
java.home: /opt/chmail/common/lib/jvm/openjdk-21.0.3-chmail
java.vm.vendor: Oracle Corporation
java.vm.version: 21.0.3+7-LTS-152
java.vm.name: Java HotSpot(TM) 64-Bit Server VM
java.vm.info: mixed mode, sharing
java.runtime.name: Java(TM) SE Runtime Environment
java.runtime.version: 21.0.3+7-LTS-152
java.io.tmpdir: /opt/chmail/mailboxd/work
user.dir: /opt/chmail
user.language: en
user.country: US
Jetty Version & Properties:
jetty.version: 12.0.11
jetty.tag.version: jetty-12.0.11
jetty.build: 9f90cedce372142f30c744a16a38d2c6bf634ab6
jetty.home: /opt/chmail/common/jetty_home
jetty.base: /opt/chmail/mailboxd
Config Search Order:
- <command-line>
- ${jetty.base}$ -> /opt/chmail/mailboxd
- ${jetty.home}$ -> /opt/chmail/common/jetty_home
System Properties:
(no system properties specified)
Properties: Jetty
chmailImapBindAddress:
chmailImapBindPort: 7150
chmailImapSSLBindAddress:
chmailImapSSLBindPort: 7901
chmailImapSSLServerEnabled: true
chmailImapServerEnabled: true
chmailLmtpBindAddress:
chmailLmtpBindPort: 7000
chmailLmtpServerEnabled: true
chmailMailboxdSSLProtocols: SSLv2Hello TLSv1 TLSv1.1 TLSv1.2
chmailPop3BindAddress:
chmailPop3BindPort: 7100
chmailPop3SSLBindAddress:
chmailPop3SSLBindPort: 7901
chmailPop3SSLServerEnabled: true
chmailPop3ServerEnabled: true
chmailSSLExcludeCipherSuites: .*_RC4_.*
chmailSSLIncludeCipherSuites:
chmail_gid: 998
chmail_uid: 998
java.version: 21.0.3
java.version.major: 21
java.version.micro: 3
java.version.minor = 0
java.version.platform = 21
jetty.base = /opt/chmail/mailboxd
jetty.base.uri = file:///opt/chmail/mailboxd
jetty.home = /opt/chmail/common/jetty_home
jetty.home.uri = file:///opt/chmail/common/jetty_home
jetty.webapp.addHiddenClasses = org.eclipse.jetty.logging., ${jetty.home.uri}/lib/logging/,org.slf4j.
mailboxd_keystore = /opt/chmail/mailboxd/etc/keystore
mailboxd_keystore_password = 5
mailboxd.truststore_password = ch
nio_imap_enabled = true
runtime.feature.alpn = true
slf4j.version = 2.0.12
Classpath: Jetty
Version Information on 99 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
changes to the -module=name command line options will be reflected here.
0:
(dir) | ${jetty.home}/resources
1:
2.0.12 ${jetty.home}/lib/logging/slf4j-api-2.0.12.jar
2:
12.0.11 ${jetty.home}/lib/jetty-client-12.0.11.jar
3:
12.0.11 ${jetty.home}/lib/logging/jetty-slf4j-impl-12.0.11.jar
4:
12.0.11 ${jetty.home}/lib/jetty-alpn-client-12.0.11.jar
5:
12.0.11 ${jetty.home}/lib/jetty-http-12.0.11.jar
6:
12.0.11 ${jetty.home}/lib/jetty-server-12.0.11.jar
7:
12.0.11 ${jetty.home}/lib/jetty-xml-12.0.11.jar
8:
12.0.11 ${jetty.home}/lib/jetty-util-12.0.11.jar
9:
12.0.11 ${jetty.home}/lib/jetty-io-12.0.11.jar
10:
12.0.11 ${jetty.home}/lib/jetty-session-12.0.11.jar
11:
12.0.11 ${jetty.home}/lib/jetty-plus-12.0.11.jar
12:
12.0.11 ${jetty.home}/lib/jetty-security-12.0.11.jar
13:
12.0.11 ${jetty.home}/lib/jetty-jndi-12.0.11.jar
14:
12.0.11 ${jetty.home}/lib/jetty-ee-12.0.11.jar
15:
12.0.11 ${jetty.home}/lib/jetty-deploy-12.0.11.jar
16:
12.0.11 ${jetty.home}/lib/jetty-websocket-core-common-12.0.11.jar
17:
12.0.11 ${jetty.home}/lib/jetty-websocket-core-server-12.0.11.jar
18:
12.0.11 ${jetty.home}/lib/jetty-websocket-jetty-api-12.0.11.jar
19:
12.0.11 ${jetty.home}/lib/jetty-websocket-jetty-common-12.0.11.jar
20:
12.0.11 ${jetty.home}/lib/jetty-websocket-jetty-client-12.0.11.jar
21:
12.0.11 ${jetty.home}/lib/jetty-jmx-12.0.11.jar
22:
12.0.11 ${jetty.home}/lib/jetty-websocket-core-client-12.0.11.jar
23:
1.0 /opt/chmail/jetty_base/common/lib/apache-log4j-extras-1.0.jar
24:
1.73.0 ${jetty.home}/lib/jetty-websocket-core-client-12.0.11.jar
25:
1.73.0 /opt/chmail/jetty_base/common/lib/bcpkix-jdk18on-1.73.jar
26:
1403.04.31 /opt/chmail/jetty_base/common/lib/chmail-common-1403.04.31.jar
27:
1403.04.31 /opt/chmail/jetty_base/common/lib/chmail-native-1403.04.31.jar
28:
3.21.12 /opt/chmail/jetty_base/common/lib/closure-compiler-v20230206.jar
29:
1.5.0 /opt/chmail/jetty_base/common/lib/commons-cli-1.5.0.jar
30:
1.15 /opt/chmail/jetty_base/common/lib/commons-codec-1.15.jar
31:
4.4 /opt/chmail/jetty_base/common/lib/commons-collections4-4.4.jar
32:
1.23.0 /opt/chmail/jetty_base/common/lib/commons-compress-1.23.0.jar
33:
2.9.0 /opt/chmail/jetty_base/common/lib/commons-dbcp2-2.9.0.jar
34:
2.0.0-M1 /opt/chmail/jetty_base/common/lib/commons-fileupload2-jakarta-2.0.0-M1.jar
35:
2.16.1 /opt/chmail/jetty_base/common/lib/commons-io-2.16.1.jar
36:
3.14.0 /opt/chmail/jetty_base/common/lib/commons-lang3-3.14.0.jar
37:
1.2
/opt/chmail/jetty_base/common/lib/commons-logging-1.2.jar
38:
3.9.0
/opt/chmail/jetty_base/common/lib/commons-net-3.9.0.jar
39:
2.11.1
/opt/chmail/jetty_base/common/lib/commons-pool2-2.11.1.jar
40:
1.5
/opt/chmail/jetty_base/common/lib/commons-rng-client-api-1.5.jar
41:
1.5
/opt/chmail/jetty_base/common/lib/commons-rng-core-1.5.jar
42:
1.5
/opt/chmail/jetty_base/common/lib/commons-rng-simple-1.5.jar
43:
1.12.0
/opt/chmail/jetty_base/common/lib/commons-text-1.12.0.jar
44:
1.4.2
/opt/chmail/jetty_base/common/lib/concurrentlinkedhashmap-lru-1.4.2.jar
45:
(none specified)
/opt/chmail/jetty_base/common/lib/dom4j-2.1.4.jar
46:
0.3.0
/opt/chmail/jetty_base/common/lib/eddsa-0.3.0.jar
47:
1.0.1
/opt/chmail/jetty_base/common/lib/failureaccess-1.0.1.jar
48:
31.1.0.jre
/opt/chmail/jetty_base/common/lib/guava-31.1-jre.jar
49:
3.3.1
/opt/chmail/jetty_base/common/lib/HikariCP-3.3.1.jar
50:
4.1.2
/opt/chmail/jetty_base/common/lib/httpasyncclient-4.1.2.jar
51:
4.5.2
/opt/chmail/jetty_base/common/lib/httpclient-4.5.2.jar
52:
4.4.4
/opt/chmail/jetty_base/common/lib/httpcore-4.4.4.jar
53:
4.4.5
/opt/chmail/jetty_base/common/lib/httpcore-nio-4.4.5.jar
54:
4.5.14
/opt/chmail/jetty_base/common/lib/httpmime-4.5.14.jar
55:
(none specified)
/opt/chmail/jetty_base/common/lib/ical4j-0.9.16-chmail.jar
56:
73.1
/opt/chmail/jetty_base/common/lib/icu4j-73.1.jar
57:
3.0.12
/opt/chmail/jetty_base/common/lib/istack-commons-runtime-3.0.12.jar
58:
2.1.3
/opt/chmail/jetty_base/common/lib/jakarta.activation-api-2.1.3.jar
59:
2.1.3
/opt/chmail/jetty_base/common/lib/jakarta.mail-api-2.1.3.jar
60:
4.0.2
/opt/chmail/jetty_base/common/lib/jakarta.xml.bind-api-4.0.2.jar
61:
2.0.0-RC3
/opt/chmail/jetty_base/common/lib/jakarta.xml.soap-api-2.0.0-RC3.jar
62:
4.0.2
/opt/chmail/jetty_base/common/lib/jakarta.xml.ws-api-4.0.2.jar
63:
0.9.0
/opt/chmail/jetty_base/common/lib/java-semver-0.9.0.jar
64:
4.0.5
cb19596
/opt/chmail/jetty_base/common/lib/jaxb-runtime-4.0.5.jar
65:
2.0.0
/opt/chmail/jetty_base/common/lib/jaxen-2.0.0.jar
66:
1.0.23
/opt/chmail/jetty_base/common/lib/jcommon-1.0.23.jar
67:
1.1
/opt/chmail/jetty_base/common/lib/jdom-1.1.jar
68:
1.5.4
/opt/chmail/jetty_base/common/lib/jfreechart-1.5.4.jar
69:
0.11.5
/opt/chmail/jetty_base/common/lib/jjwt-api-0.11.5.jar
70:
20230227.0.0
/opt/chmail/jetty_base/common/lib/json-20230227.jar
71:
1.15.4
/opt/chmail/jetty_base/common/lib/jsoup-1.15.4.jar
72:
2.0.0
/opt/chmail/jetty_base/common/lib/jtnef-2.0.0.jar
73:
(none specified)
/opt/chmail/jetty_base/common/lib/junit-4.8.2.jar
74:
2.6.2
/opt/chmail/jetty_base/common/lib/junixsocket-common-2.6.2.jar
75:
2.6.2
/opt/chmail/jetty_base/common/lib/junixsocket-demo-2.6.2.jar
76:
2.6.2
/opt/chmail/jetty_base/common/lib/junixsocket-mysql-2.6.2.jar
77:
2.6.2
/opt/chmail/jetty_base/common/lib/junixsocket-rmi-2.6.2.jar
78:
1.0.7
/opt/chmail/jetty_base/common/lib/jzlib-1.0.7.jar
79:
(none specified)
/opt/chmail/jetty_base/common/lib/libidn-1.24.jar
80:
2.19.0
/opt/chmail/jetty_base/common/lib/log4j-api-2.19.0.jar
81:
2.19.0
/opt/chmail/jetty_base/common/lib/log4j-core-2.19.0.jar
82:
2.19.0
/opt/chmail/jetty_base/common/lib/log4j-slf4j2-impl-2.19.0.jar
83:
2.4.1
/opt/chmail/jetty_base/common/lib/mariadb-java-client-2.4.1.jar
84:
1.11.2
/opt/chmail/jetty_base/common/lib/micrometer-commons-1.11.2.jar
85:
1.11.2
/opt/chmail/jetty_base/common/lib/micrometer-observation-1.11.2.jar
86:
1.9.13
/opt/chmail/jetty_base/common/lib/nekohtml-1.9.13.1-chmail.jar
87:
(none specified)
/opt/chmail/jetty_base/common/lib/oauth-1.4.jar
88:
2.0.6
/opt/chmail/jetty_base/common/lib/slf4j-api-2.0.6.jar
89:
2.12.1
/opt/chmail/jetty_base/common/lib/spymemcached-2.12.1.jar
90:
2.9.2
/opt/chmail/jetty_base/common/lib/sshd-common-2.9.2.jar
91:
2.9.2
/opt/chmail/jetty_base/common/lib/sshd-core-2.9.2.jar
92:
6.0.8
/opt/chmail/jetty_base/common/lib/unboundid-ldapsdk-6.0.8.jar
93:
1.0
/opt/chmail/jetty_base/common/lib/xercesImpl-2.9.1-chmail.jar
94: (none specified) | /opt/chmail/jetty_base/common/lib/yuicompressor-2.4.2-chmail.jar
95: 8.8.0 | /opt/chmail/jetty_base/common/lib/ziputil-1.7.0-chmail.jar
96: 12.0.11 | ${jetty.home}/lib/jetty-rewrite-12.0.11.jar
97: 2.0.2 | ${jetty.home}/lib/setuid/jetty-setuid-jna-2.0.2.jar
98: 5.14.0 (bo) | ${jetty.home}/lib/setuid/jna-5.14.0.jar
Active XMLs: Jetty
- /opt/chmail/jetty_base/etc/jetty-bytebufferpool.xml
- /opt/chmail/jetty_base/etc/jetty-threadpool.xml
- /opt/chmail/jetty_base/etc/jetty.xml
- /opt/chmail/jetty_base/etc/sessions/id-manager.xml
- /opt/chmail/jetty_base/etc/jetty-ee-webapp.xml
- /opt/chmail/jetty_base/etc/jetty-http.xml
- /opt/chmail/jetty_base/etc/jetty-jmx.xml
- /opt/chmail/jetty_base/etc/jetty-setuid.xml
Properties: ee10
--------------------------------------------------
contextHandlerClass = org.eclipse.jetty.ee10.webapp.WebAppContext
eclipse.jdt.ecj.version = 3.37.0
ee10.asm.version = 9.7
ee10.jakarta.annotation.api.version = 2.1.1
ee10.jakarta.el.api.version = 5.0.1
ee10.jakarta.servlet.jsp.api.version = 3.1.1
ee10.jakarta.servlet.jsp.jstl.api.version = 3.0.0
ee10.jakarta.servlet.jsp.jstl.impl.version = 3.0.1
ee10.jsp.impl.version = 10.1.25
jetty.base = /opt/chmail/mailboxd
jetty.home = /opt/chmail/common/jetty_home
Classpath: ee10
Version Information on 35 entries in the classpath.
Note: order presented here is how they would appear on the classpath.
changes to the **module** name command line options will be reflected here.
0: 6.0.0 | ${jetty.home}/lib/jakarta.servlet-api-6.0.0.jar
1: 12.0.11 | ${jetty.home}/lib/jetty-ee10-servlet-12.0.11.jar
2: 12.0.11 | ${jetty.home}/lib/jetty-ee10-webapp-12.0.11.jar
3: 12.0.11 | ${jetty.home}/lib/jetty-ee10-plus-12.0.11.jar
4: 2.0.1 | ${jetty.home}/lib/jakarta.transaction-api-2.0.1.jar
5: 2.1.0 | ${jetty.home}/lib/jakarta.interceptor-api-2.1.0.jar
6: 4.0.1 | ${jetty.home}/lib/jakarta.enterprise.cdi-api-4.0.1.jar
7: 2.0 | ${jetty.home}/lib/jakarta.inject-api-2.0.1.MR.jar
8: 4.0.1 | ${jetty.home}/lib/jakarta.enterprise.lang-model-4.0.1.jar
9: 12.0.11 | ${jetty.home}/lib/jetty-ee10-annotations-12.0.11.jar
10: 9.7 | ${jetty.home}/lib/ee10-annotations/asm-9.7.jar
11: 9.7 | ${jetty.home}/lib/ee10-annotations/asm-analysis-9.7.jar
12: 9.7 | ${jetty.home}/lib/ee10-annotations/asm-commons-9.7.jar
13: 9.7 | ${jetty.home}/lib/ee10-annotations/asm-tree-9.7.jar
14: 2.1.1 | ${jetty.home}/lib/ee10-annotations/jakarta.annotation-api-2.1.1.jar
15: 5.0.1 | ${jetty.home}/lib/ee10-apache-jsp/jakarta.el.jakarta.el-api-5.0.1.jar
16: 3.1.1 | ${jetty.home}/lib/ee10-apache-jsp/jakarta.servlet.jsp.jakarta.servlet.jsp-api-3.1.1.jar
17: 3.37.0.v20240215-1558 | ${jetty.home}/lib/ee10-apache-jsp/org.eclipse.jdt.ecj-3.37.0.jar
18: 10.1.25 | ${jetty.home}/lib/ee10-apache-jsp/org.mortbay.jasper.apache-el-10.1.25.jar
19: 10.1.25 | ${jetty.home}/lib/ee10-apache-jsp/org.mortbay.jasper.apache-jsp-10.1.25.jar
20: 12.0.11 | ${jetty.home}/lib/jetty-ee10-apache-jsp-12.0.11.jar
21: 3.0.0 | ${jetty.home}/lib/ee10-glassfish-jstl/jakarta.servlet.jsp.jstl.jakarta.servlet.jsp.jstl-api-3.0.0.jar
22: 3.0.1 | ${jetty.home}/lib/ee10-glassfish-jstl/org.glassfish.web.jakarta.servlet.jsp.jstl-3.0.1.jar
23: 12.0.11 | ${jetty.home}/lib/jetty-ee10-servlets-12.0.11.jar
24: 12.0.11 | ${jetty.home}/lib/jetty-websocket-core-common-12.0.11.jar
25: 12.0.11 | ${jetty.home}/lib/jetty-websocket-core-client-12.0.11.jar
26: 12.0.11 | ${jetty.home}/lib/jetty-websocket-core-server-12.0.11.jar
27: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-servlet-12.0.11.jar
28: 2.1.1 | ${jetty.home}/lib/ee10-websocket/jakarta.websocket-client-api-2.1.1.jar
29: 2.1.1 | ${jetty.home}/lib/ee10-websocket/jakarta.websocket-api-2.1.1.jar
30: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-client-12.0.11.jar
31: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-common-12.0.11.jar
32: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-jakarta-server-12.0.11.jar
33: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-jetty-server-12.0.11.jar
34: 12.0.11 | ${jetty.home}/lib/ee10-websocket/jetty-ee10-websocket-jetty-client-webapp-12.0.11.jar
Active XMLS: ee10
/opt/chmail/jetty_base/etc/jetty-ee10-deploy.xml
/opt/chmail/iettv base/etc/jetty.xml
Enabled Modules:
JVM Version & Properties:
You have no modules enabled.
That's the biggest issue by far.
/opt/chmail/common/bin/java_mailboxd -Djavax.net.debug=all -Dfile.encoding=UTF-8 -server
-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2, TLSv1.3 -Djdk.tls.client.protocols=TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
-Djava.awt.headless=true -Dsun.net.inetaddr.ttl=60 -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45
-XX:-OmitStackTraceInFastThrow -verbose:gc
-Xlog:gc*=info,safepoint=info:file=/opt/chmail/log/gc.log:time:filecount=20,filesize=10m
-Djava.security.egd=file:/dev/./urandom --add-opens java.base/java.lang-ALL-UNNAMED
-Djava.net.preferIPv4Stack=true -Xss256k -Xms2048m -Xmx2048m -Djava.io.tmpdir=/opt/chmail/mailboxd/work
-Djava.library.path=/opt/chmail/lib -Dchmail.config=/opt/chmail/conf/localconfig.xml --module-path
/opt/chmail/mailboxd/common/endorsed -Djetty.base=/opt/chmail/mailboxd -Djetty.home=/opt/chmail/common/jetty_home
-DSTART=/opt/chmail/mailboxd/etc/start.config -jar /opt/chmail/common/jetty_home/start.jar
--module=chmail,server,ee10-servlet,ee10-servlets,ee10-jsp,ee10-jstl,jmx,ee10-websocket-jakarta,ee10-websocket-jetty
,ee10-websocket-jetty-client-webapp,resources,ext,plus,rewrite,ee-webapp,ee10-webapp,setuid,http,ee10-deploy,ee10-
apache-jsp jetty.home=/opt/chmail/common/jetty_home jetty.base=/opt/chmail/mailboxd
/opt/chmail/mailboxd/etc/jetty.xml --list-config
This is the wrong way to use jetty-home.
Lets break down this command line ...
/opt/chmail/common/bin/java_mailboxd
No clue what JVM you are using, is this one based on OpenJDK at least?
-Djavax.net.debug=all -Dfile.encoding=UTF-8 -server
These are fine, but not a requirement for Jetty.
This can exist in a Jetty start.d/*.ini file.
Note: -server
likely does nothing in your JVM.
Just run java --version
and look at the output. It is likely is always Server
.
I'm not aware of any JVM (JDK or JRE) that still supports the -client
option, all of the JVMs nowadays run in server jvm mode always. (part of along effort to remove the various jvm modes. eg: if you use one of the other past jvm modes like -hotspot
, -native
, -classic
, or -green
you'll get an error. The -client
and -server
modes are next on the chopping block)
Heck even the modern JVMs that ship embedded with java client applications report that they are "Server" JVMs now.
-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2, TLSv1.3 -Djdk.tls.client.protocols=TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
This is pointless, has a bad syntax (notice the spaces in front of various TLS entries?), and Jetty will not use these.
The https.protocols
was a way to specify what TLS protocols the HttpURLConnection would use.
But that's been superceded by the $JAVA_HOME/conf/security/java.security
file.
On Java 17, TLSv1, and TLSv1.1 are disabled by java.security
and cannot be enabled via command line.
These options, as you have written them, basically do nothing on Java 9 onwards, especially so if your plan is to enable TLSv1 or TLSv1.1, as that can only be done with a custom java.security
file now.
The best you can hope for with these command line options is to not allow TLSv1.3 (if that's what you are going for)
-Djava.awt.headless=true
No problem here either.
This can exist in a Jetty start.d/*.ini file.
-Dsun.net.inetaddr.ttl=60
Internal Sun specific DNS inet address cache control.
This is a deprecated property.
Perhaps you meant to use networkaddress.cache.ttl
instead?
This can exist in a Jetty start.d/*.ini file.
-Dorg.apache.jasper.compiler.disablejsr199=true
Means absolutely nothing to Jetty or the Jasper compiler.
This was a brief configuration back in the Glassfish JSP era that Apache Jasper did not adopt it.
This is most likely an ancient configuration from back the Jetty 6 or Jetty 7 days.
Remove it.
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=1
-XX:+UnlockExperimentalVMOptions
-XX:G1NewSizePercent=15
-XX:G1MaxNewSizePercent=45
-XX:-OmitStackTraceInFastThrow
-verbose:gc
-Xlog:gc*=info,safepoint=info:file=/opt/chmail/log/gc.log:time:filecount=20,filesize=10m
Custom GC configuration, ok.
But why are you declaring G1GC on Java 17? That should be default.
These can exist in a Jetty start.d/*.ini file.
See the exec
Jetty module configuration.
-Djava.security.egd=file:/dev/./urandom
Two things.
This has been replaced with securerandom.source
and the default is already file:/dev/urandom
Remove this, it changes nothing.
--add-opens java.base/java.lang-ALL-UNNAMED
This is handled by the Jetty start module system.
You shouldn't need to declare this if you configure your jetty-base properly.
The Jetty module system can configure this for anything Jetty itself uses.
If you need to expose more things, then use the start.d/*.ini configuration for this instead.
-Djava.net.preferIPv4Stack=true
Fine, prefer IPv4 over IPv6 is completely reasonable.
This can exist in a Jetty start.d/*.ini file.
-Xss256k -Xms2048m -Xmx2048m
Memory settings. ok.
These can exist in a Jetty start.d/*.ini file too.
-Djava.io.tmpdir=/opt/chmail/mailboxd/work
Temp directory. ok.
These can exist in a Jetty start.d/*.ini file too.
Alternatively you can configure Server.setTempDirectory()
too (via XML).
-Djava.library.path=/opt/chmail/lib
This can be in a Jetty start.d/*.ini file.
Look into the exec
Jetty module.
-Dchmail.config=/opt/chmail/conf/localconfig.xml
This can exist in a Jetty start.d/*.ini file.
--module-path /opt/chmail/mailboxd/common/endorsed
The Jetty start and Jetty module system does this.
This can be in the same start.d/*.ini configuration that you have for --add-opens
above.
Or you can declare a module specifically for common-endorsed behaviors and let Jetty add the appropriate module-path and add-opens depending on use of --jpms
or not.
-Djetty.base=/opt/chmail/mailboxd
-Djetty.home=/opt/chmail/common/jetty_home
If you use your jetty-base properly, then neither of these need to be declared on your command line.
But having them there is harmless.
-DSTART=/opt/chmail/mailboxd/etc/start.config
This property is not used by Jetty.
But it can exist in a Jetty start.d/*.ini file.
-jar /opt/chmail/common/jetty_home/start.jar
Pretty much the only required command line option.
--module=chmail,server,ee10-servlet,ee10-servlets,ee10-jsp,ee10-jstl,jmx,ee10-websocket-jakarta,ee10-websocket-jetty
,ee10-websocket-jetty-client-webapp,resources,ext,plus,rewrite,ee-webapp,ee10-webapp,setuid,http,ee10-deploy,ee10-
apache-jsp
All of these should be properly declared in your jetty-base.
Use --add-module=<name>,<name>
once on the command line manually and those will be enabled.
Check your start.d/.ini for the various configurations.
Easy to disable, either remove the start.d/.ini file, or comment out the internal --module=<name>
found in the start.d/*.ini file.
jetty.home=/opt/chmail/common/jetty_home
jetty.base=/opt/chmail/mailboxd
Both of these are ignored by Jetty start.jar arguments.
These come from a discovery process in the Jetty start.jar, not from the command line arguments.
Internally, after the discovery, these properties are set by Jetty start.jar for use by various Jetty XML <property>
references.
/opt/chmail/mailboxd/etc/jetty.xml
Vastly incomplete XML list.
This is most definitely one of the causes of your issues.
Based on your other config, I would expect about a dozen XML files listed here (in the proper order).
Remove this entirely.
Use the jetty-base properly, add the modules, and don't specify this XML, or any other XML files on this command line.
--list-config
If you did this correctly, the ENTIRE command line is java -jar /path/to/jetty-home/start.jar --list-config
You can verify the resulting command line with java -jar /path/to/jetty-home/start.jar --dry-run
too.
Note that if you really want Java JPMS features you can enable the start.jar --jpms
option for that.
If you need a raw command line for something like a service file, use the features of --dry-run
to accomplish that.
Check the start.jar --help
for the details of those features.
You can also check the ${jetty.home}/bin/jetty.sh
for an example of the --dry-run=<parts>
usage too.
I think the question has been answered pretty comprehensively, so I'm closing this issue.