将--https模块添加到jetty的start.ini文件中时,我收到以下“ noconstructorclass”错误,并且geoserver无法启动。这是在Linux上开箱即用的地理服务器2.16.0。
Geoserver随附jetty.version = 9.4.18.v20190429
在使用码头的Geoserver上启动时,出现以下错误:
/usr/lib/jvm/jre-1.8.0/bin/java -server -Xms16G -Xmx16G -Xmn2G -XX: +UseG1GC -DSTOP.PORT=8079 -DSTOP.KEY=geoserver -jar start.jar
2020-04-14 22:12:01.961:WARN:oejx.XmlConfiguration:main:
java.lang.IllegalStateException: No constructor class. org.eclipse.jetty.server.ServerConnector([],{}) in file:/opt/software/etc/ jetty-https.xml
Caused by: java.lang.IllegalStateException: No constructor class org.eclipse.jetty.server.ServerConnector([],{}) in file:/opt/software/etc/jetty-https.xml
Caused by: java.lang.IllegalStateException: No constructor class org.eclipse.jetty.server.ServerConnector([],{}) in file:/opt/software/etc/jetty-https.xml
当我启动jetty --list-config选项时,我看到: 码头活动XML:
${jetty.base}/etc/jetty.xml
${jetty.base}/etc/jetty-deploy.xml
${jetty.base}/etc/jetty-http.xml
${jetty.base}/etc/jetty-ssl.xml
${jetty.base}/etc/jetty-ssl-context.xml
${jetty.base}/etc/jetty-https.xml
其他码头设置是
jetty.base = /opt/software
jetty.base.uri = file:///opt/software
jetty.ssl.port = 8443
jetty.sslContext.keyManagerPassword = MyPassword
jetty.sslContext.keyStorePassword = MyPassword
jetty.sslContext.keyStorePath = etc/keystore
jetty.sslContext.trustStorePassword = MyPassword
jetty.sslContext.trustStorePath = etc/keystore
当我禁用--https模块但致力于使https与码头一起工作时,一切都将成功启动。 如果需要的话,这是classPath的摘录。
Jetty Server类路径项:
0: (dir) | ${jetty.base}/resources
1: 3.1.0 | ${jetty.base}/lib/javax.servlet-api-3.1.0.jar
2: 3.1.0.M0 | ${jetty.base}/lib/jetty-schemas-3.1.M0.jar
3: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-http-9.4.18.v20190429.jar
4: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-server-9.4.18.v20190429.jar
5: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-xml-9.4.18.v20190429.jar
6: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-util-9.4.18.v20190429.jar
7: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-io-9.4.18.v20190429.jar
8: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-security-9.4.18.v20190429.jar
9: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-servlet-9.4.18.v20190429.jar
10: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-webapp-9.4.18.v20190429.jar
11: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-deploy-9.4.18.v20190429.jar
12: 9.4.18.v20190429 | ${jetty.base}/lib/jetty-servlets-9.4.18.v20190429.jar
看来它可以正确找到所有配置文件了……但还不太明白为什么加载该模块时会失败。
我将尝试更新格式。很难打电话。
如果我禁用--https模块,则一切启动都不会出现问题。这是开箱即用的配置,因此不确定使用默认选项的https为什么会失败。