使用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"})
但仍无效。
任何帮助将不胜感激。
凯文
答案 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。