Spring boot Gradle-如何防止tomcat嵌入el被;“带走”;从WEB-INF/lib
我的目标: 我正在尝试在WebSphereND8.5.5.15中安装SpringBootV2.1.7.RELEASE web服务,它在localhost/tomcat上运行良好 奇怪的是,有几次我可以启动应用程序(在安装之后-我不确定,也不知道如何启动),但大多数时候(在我重试或更改一些事情之后),我无法在WebSphere中启动应用程序,我正在试图理解原因 所以现在,我想做的是: 我需要将嵌入式tomcat从运行时中排除,通过在build.gradle中添加这一行,可以很容易地做到这一点:Spring boot Gradle-如何防止tomcat嵌入el被;“带走”;从WEB-INF/lib,spring-boot,build.gradle,Spring Boot,Build.gradle,我的目标: 我正在尝试在WebSphereND8.5.5.15中安装SpringBootV2.1.7.RELEASE web服务,它在localhost/tomcat上运行良好 奇怪的是,有几次我可以启动应用程序(在安装之后-我不确定,也不知道如何启动),但大多数时候(在我重试或更改一些事情之后),我无法在WebSphere中启动应用程序,我正在试图理解原因 所以现在,我想做的是: 我需要将嵌入式tomcat从运行时中排除,通过在build.gradle中添加这一行,可以很容易地做到这一点: p
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'org.apache.tomcat.embed:tomcat-embed-el:9.0.24'
我知道-第4步,它也删除了EL相关的类,所以我把它带回来:
implementation 'org.springframework.boot:spring-boot-starter-validation'
但现在,这不是“把课程带回来”,我不明白为什么。包含javax.el.ELManager.class的tomcat-embed-el-9.0.22.jar在WebSphere中安装后将登录到提供的../WEB-INF/lib中。我希望它出现在../WEB-INF/lib中
我有一个“解决方案”,就是在build.gradle中添加一个:
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'org.apache.tomcat.embed:tomcat-embed-el:9.0.24'
它正在工作,但我怀疑这是否是“正确”的方法,因为在我解决它之后,我开始遇到其他hibernate问题,这是不可预料的,因为我已经在上面的链接中执行了步骤3
另外,我使用的gradle版本是5.5:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-bin.zip
我也试着使用5.6,但还是一样
providedRuntime 'org.apache.tomcat.embed:tomcat-embed-core'
providedRuntime 'org.apache.tomcat.embed:tomcat-embed-websocket'
这是正确的方法
hibernate问题是另一个问题