在Tomcat 8上找不到SpringBoot依赖项jar

时间:2017-06-05 19:17:11

标签: spring-boot jar tomcat8

使用springboot 1.5.3和tomcat 8和8.5。我有一个自定义弹簧启动项目即时使用作为依赖项。它只是回购课程。在我的主要课程中,我已添加

    <dependency>
        <groupId>com.swisher</groupId>
        <artifactId>product-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

到我的pom.xml文件。它工作正常,但当我将项目打包为可部署的war文件并推送到Tomcat 8或8.5时,我的控制器看不到我的依赖项目模型类。

2017-06-05 14:21:57.157 ERROR 5184 --- [nio-8080-exec-6] osboot.web.support.ErrorPageFilter:由于异常[com]转发到请求[/]的错误页面/ Swisher的/ PC /模型/人]

java.lang.NoClassDefFoundError:com / swisher / pc / model / Person     在com.swisher.pc.controllers.CatalogController.index(CatalogController.java:75)〜[classes /:0.0.1-SNAPSHOT]

我尝试过使用

@SpringBootApplication(scanBasePackages={ "com.swisher", "com.swisher.pc"}) @ComponentScan(basePackages={"com.swisher", "com.swisher.pc"})

但仍无效。

任何帮助将不胜感激。

凯文

1 个答案:

答案 0 :(得分:0)

本文进一步解释了[link] github.com/spring-projects/spring-boot/issues / ...这是由于Spring Boot 1.4中可执行jar的布局发生了变化。应用程序类现在打包在BOOT-INF / classes中所以pom中的这个条目可以实现技巧

<plugin>
         <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
                 <executions>
                     <execution>
                         <goals>
                             <goal>repackage</goal>
                         </goals>
                         <configuration>
                             <classifier>exec</classifier>
                         </configuration>
                     </execution>
                </executions>
     </plugin>

`

然后使用:mvn package spring-boot:repackage。接下来是mvn install。