Spring boot Spring Boot应用程序从jar包启动时失败,但在IDE中正常运行

Spring boot Spring Boot应用程序从jar包启动时失败,但在IDE中正常运行,spring-boot,maven,java-8,tls1.3,Spring Boot,Maven,Java 8,Tls1.3,我们从业务任务中获得了将它们之间的安全连接升级到TLS 1.3的任务。我们使用的是Java 8/WildFly 8.2,因此我们想尝试使用Azule OpenJSSE解决方案: 所以我将它安装在ext目录下,将provider添加到java.security中,并将依赖项添加到项目的pom.xml中。没有特殊情况发生,应用程序正常工作。现在我想试试这些变化是否产生了一些效果。我有一个模拟应用程序,它试图以某种方式模拟我们的一个客户端外部服务器 这是Spring引导应用程序(2.1.3.RELE

我们从业务任务中获得了将它们之间的安全连接升级到TLS 1.3的任务。我们使用的是Java 8/WildFly 8.2,因此我们想尝试使用Azule OpenJSSE解决方案:

所以我将它安装在ext目录下,将provider添加到java.security中,并将依赖项添加到项目的pom.xml中。没有特殊情况发生,应用程序正常工作。现在我想试试这些变化是否产生了一些效果。我有一个模拟应用程序,它试图以某种方式模拟我们的一个客户端外部服务器

这是Spring引导应用程序(2.1.3.RELEASE)。如果我添加到其pom.xml openjsse依赖项并更改application.properties:

server.ssl.enabled protocols=TLSv1.3

我从IntelliJ运行它,它正常启动。但是如果我从mvn包创建包,并且我正常运行这个jar

java-jar-target\mock.jar

我得到了这样的东西:


org.apache.catalina.LifecycleException: Protocol handler start failed
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.catalina.core.StandardService.addConnector(StandardService.java:226) [tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:259) [spring-boot-2.1.3.RELEAS
E.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:197) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:311) [sp
ring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:164) [spr
ing-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) [spring-context-5.1.5.RELEASE.jar!/
:5.1.5.RELEASE]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) [spring-bo
ot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
        at com.abb.mock.server.mockserver.MockServerApplication.main(MockServerApplication.java:10) [classes!/:0.0.1-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_172]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_172]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_172]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_172]
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
Caused by: java.lang.IllegalArgumentException: None of the [protocols] specified are supported by the SSL engine : [[TLSv1.3]]
        at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:112) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.SSLUtilBase.<init>(SSLUtilBase.java:70) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:150) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:145) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:50) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:102) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1085) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1171) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:568) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) ~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
        ... 22 common frames omitted

2020-08-12 08:22:13.743  INFO 18368 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2020-08-12 08:22:13.760  INFO 18368 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-08-12 08:22:13.762 ERROR 18368 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 10443 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 10443, or configure this application to listen on another por
t.

2020-08-12 08:22:13.789  INFO 18368 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecuto
r'

org.apache.catalina.LifecycleException:协议处理程序启动失败
在org.apache.catalina.connector.connector.startInternal(connector.java:1008)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.catalina.core.StandardService.addConnector(StandardService.java:226)[tomcat-embed-core-9.0.16.jar!/:9.0.16]
位于org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:259)[spring-boot-2.1.3.RELEAS]
E.jar!/:2.1.3.发布]
在org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:197)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
位于org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:311)[sp]
ring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
位于org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:164)[spr]
ing-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)[spring-context-5.1.5.RELEASE.jar/
:5.1.5.发布]
在org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)[SpringBo
ot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:316)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
在org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]
位于com.abb.mock.server.mockserver.MockServerApplication.main(MockServerApplication.java:10)[classes!/:0.0.1-SNAPSHOT]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_172]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)~[na:1.8.0172]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[na:1.8.0172]
在java.lang.reflect.Method.invoke(Method.java:498)~[na:1.8.0_172]
在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)[mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)[mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
在org.springframework.boot.loader.Launcher.launch(Launcher.java:50)[mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
位于org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)[mock-server-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
原因:java.lang.IllegalArgumentException:SSL引擎不支持指定的[protocols]:[[TLSv1.3]]
在org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:112)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.SSLUtilBase.(SSLUtilBase.java:70)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.jsse.JSSEUtil.(JSSEUtil.java:150)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.jsse.JSSEUtil.(JSSEUtil.java:145)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:50)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:102)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:85)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1085)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1171)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:568)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
在org.apache.catalina.connector.connector.startInternal(connector.java:1005)~[tomcat-embed-core-9.0.16.jar!/:9.0.16]
... 省略22个公共帧
2020-08-12 08:22:13.743信息18368---[ma