Spring Boot应用作为Maven依赖

3
我有一个已经存在的Spring Boot应用程序,我希望将其作为依赖项在其他项目中使用。我想使用Spring Boot应用程序中的类。
Maven会下载该文件并进行所有检查,但Intellij和Eclipse却找不到这些类。
当我查看外部库时,我发现所有类都在jar包中的“BOOT-INF”文件夹中。其他jar包的包都在根目录下,所以我认为这是问题所在。
我可以更改原始的Spring Boot应用程序,你能告诉我该如何解决这个问题吗?

也许你可以添加一个构建配置并将其打包为JAR文件? - Jay
1
你不应该这样做,因为那样会将 Spring Boot jar 包含在 Spring Boot jar 中... 让你的应用程序变得非常庞大... 如果你需要它,提取你需要的类,创建一个简单的共享 jar 包,并在两个项目中使用它。 - M. Deinum
是的,我知道。回想起来,我应该将应用程序模块化。这是系统测试环境,所以我并不太在意JAR文件的大小等问题。希望找到一个小型的解决方案来修复它 :) - heldt
1个回答

8

这在Spring Boot文档中有详细介绍。简单来说,您需要配置构建过程,使用分类器重新打包的fat jar,以便您可以将原始jar文件用作依赖项:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <classifier>exec</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接