我有spring boot应用程序,微服务
我可以作为Spring启动应用程序毫无问题地运行它
mvn clean compile spring-boot:run
现在,如果我尝试将其部署在tomcat 9中,则会收到ClassNotFoundException,显示好像缺少了一些jar 我尝试为一个应用程序添加缺少的jar,但是对于更新的应用程序,它会不断出现。 这里没有涉及任何步骤,可以以标准方式进行编译,测试,然后打包并部署到tomcat。
可能是问题所在。我猜这里不需要实际的日志,因为问题似乎很普遍
答案 0 :(得分:0)
答案很简单,简单而愚蠢。如果您遇到任何类似的问题,只需确保您正在运行类似版本的tomcat。
当使用mvn spring-boot:run
运行时,我的spring boot应用程序运行良好,但是我的实际tomcat服务器较旧,因此缺少一些库。
升级tomcat版本已解决
答案 1 :(得分:-2)
首先,Spring boot不需要容器,您可以使用java -jar yourspsringboot.war
执行在pom中,您是否将其编译为带有依赖项的战争? 如果是这样,请在WEB-INF / lib目录下进行验证。如果您无法在lib目录中找到依赖项,那应该是问题所在。
答案 2 :(得分:-2)
请在pom中包含以下build标签。创建新的构建部署。它会工作。我也遇到了这个问题。
<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>