Spring 启动应用程序独立运行,但 class 在 Tomcat 中部署时未找到
Spring Boot application works as standalone but class not found when deployed in Tomcat
我有 spring 引导应用程序,一个微服务
我可以 运行 它没有任何问题,因为 Spring 启动应用程序
mvn clean compile spring-boot:run
现在,如果我尝试在 tomcat9 中部署它,我会收到 ClassNotFoundException,显示好像缺少一些 jar
我尝试为一个应用程序添加丢失的 jar,但它不断出现在更新的应用程序中。
这里不涉及任何步骤,独立编译、测试,然后打包部署到tomcat.
可能是什么问题。我想这里不需要实际的日志,因为问题似乎很普遍
首先,Spring启动不需要容器,可以使用java -jar yourspsringboot.war
执行
在您的 pom 中,您是否将其编译为 war 并带有依赖项?
如果是这样,请在 WEB-INF/lib 目录下验证。如果您无法在 lib 目录中找到依赖项,则应该是问题所在。
请在您的 pom.xml 中包含以下构建标记。创建新构建部署。它会起作用。我也遇到了这个问题。
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.3.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
</plugins>
</build>
答案很简单,很简单,也很愚蠢。如果您遇到任何类似的问题,请确保您 运行 是 tomcat 的类似版本。
我的 spring 启动应用程序工作正常,当 运行 使用 mvn spring-boot:run
但我实际的 tomcat 服务器有点旧,所以它缺少一些库。
升级 tomcat 版本修复了它
我有 spring 引导应用程序,一个微服务
我可以 运行 它没有任何问题,因为 Spring 启动应用程序
mvn clean compile spring-boot:run
现在,如果我尝试在 tomcat9 中部署它,我会收到 ClassNotFoundException,显示好像缺少一些 jar 我尝试为一个应用程序添加丢失的 jar,但它不断出现在更新的应用程序中。 这里不涉及任何步骤,独立编译、测试,然后打包部署到tomcat.
可能是什么问题。我想这里不需要实际的日志,因为问题似乎很普遍
首先,Spring启动不需要容器,可以使用java -jar yourspsringboot.war
执行在您的 pom 中,您是否将其编译为 war 并带有依赖项? 如果是这样,请在 WEB-INF/lib 目录下验证。如果您无法在 lib 目录中找到依赖项,则应该是问题所在。
请在您的 pom.xml 中包含以下构建标记。创建新构建部署。它会起作用。我也遇到了这个问题。
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.3.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
</plugins>
</build>
答案很简单,很简单,也很愚蠢。如果您遇到任何类似的问题,请确保您 运行 是 tomcat 的类似版本。
我的 spring 启动应用程序工作正常,当 运行 使用 mvn spring-boot:run
但我实际的 tomcat 服务器有点旧,所以它缺少一些库。
升级 tomcat 版本修复了它