gpt4 book ai didi

java - 在 Tomcat 中部署 Spring-Boot WAR 时崩溃

转载 作者:行者123 更新时间:2023-12-02 06:18:01 27 4
gpt4 key购买 nike

我设法使用 java -jar 命令运行了一个 spring-boot Web 应用程序。但是在将打包字段改成war(在pom.xml中)并构建成war时,在tomcat 7中运行失败。

我将 pom.xml 的父级设置为:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>0.5.0.M7</version>
</parent>

还有:

public class ApplicationWebXml extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder application) {
return application.sources(Application.class);
}

}

我得到的错误是:

INFO: Deploying web application archive /home/ichsan/coding/java/tools/apache-tomcat-7.0.39/webapps/hello.war
Jan 4, 2014 10:18:50 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(/home/ichsan/coding/java/tools/apache-tomcat-7.0.39/webapps/hello/WEB-INF/lib/tomcat-embed-core-7.0.47.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Jan 4, 2014 10:18:50 PM org.apache.catalina.startup.ContextConfig getServletContainerInitializer
SEVERE: The ServletContentInitializer [org.apache.tomcat.websocket.server.WsSci] could not be created
java.lang.ClassNotFoundException: org.apache.tomcat.websocket.server.WsSci
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)

我的问题是:

  1. 这里会发生什么以及如何克服这个问题?
  2. 使用spring-boot真的安全吗?因为嵌入式服务器库似乎会影响其部署到 j2ee 容器中的可靠性。我知道,它仍然是 Milestone 版本。

最佳答案

使用以下行修改您的 pom.xml:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

这将确保当您部署到服务器时嵌入的 tomcat-server 不会提供给您的网络应用程序。

关于java - 在 Tomcat 中部署 Spring-Boot WAR 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20922958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com