我有一个Spring Boot项目,并希望包括一个非Boot项目,因为它有一个我要在Boot项目中使用的实体。我不想将实体复制到我的Boot项目中,我想将其集中在一个位置并在该实体上进行引用。
因此,我从非Boot项目中制作了一个JAR,并将其放置在Boot项目的根目录下,并没有创建一个/libs
文件夹。
在{Boot项目的pom.xml
中,我将非Boot项目作为依赖项包括在内:
<dependency>
<groupId>de.example.mycompany</groupId>
<artifactId>smarthome-b</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${basedir}/libs/smarthome-b.jar</systemPath>
</dependency>
现在,当我使用 Run as → Maven build ... →clean package
构建Boot项目并在Tomcat上运行该应用程序时...因为它说ClassNotFoundException
(它找不到在我的Boot项目中使用但在非Boot JAR中定义的实体)而无法启动。
查看WEB-INF
文件夹时,我发现一个名为libs-provided
的文件夹。其中有我的包含JAR。 libs-provided
旁边是一个libs
文件夹,其中包含除我的JAR之外的所有依赖项!
那么我在做什么错了,如何正确地包含和依赖JAR,以便可以在我的Boot项目中使用非Boot项目的实体(通过依赖)。