有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java springbootmavenplugin可以用于非spring项目吗?

{}主要目标是将spring启动应用程序打包到具有所有依赖项的可执行jar中。它可以在没有spring或spring boot的项目中使用吗?我没有使用spring依赖项,只是使用类加载器机制来加载依赖的JAR


共 (2) 个答案

  1. # 1 楼答案

    我猜spring boot maven插件只适用于spring项目,可以一次性实现所有依赖项

    如果您在识别依赖项方面有问题,只需创建一个spring boot项目即可。完成后,您将获得spring项目中的所有库。在不使用out spring的情况下,在项目中复制或导入这些库

    通过这种方法,所有依赖项的项目设置将变得更容易

  2. # 2 楼答案

    是的,你可以实际上我已经测试过了,我很高兴地发现spring-boot-maven-plugin{}完全不知道Main类使用了什么,并且在很大程度上与Springframework完全解耦(很遗憾,文档中没有提到这一点,但我想Spring真的想使用他们的东西)

    它基本上是Spring版本的onejar plugin(但它也向jar中添加了自己的shell脚本)

    {}重新打包({})基本上创建了自己的微容器,其中包含一个小型加载程序,用于查找由项目打包(即{}或<packaging>jar</packaging>)确定的特定布局(罐子所在的位置)。小型加载程序不加载任何Springframework代码

    当然,您的Main类必须知道如何启动servlet容器(或者您计划加载的任何内容)。大多数servlet容器都有关于如何在嵌入式模式下运行的文档

    至于代码示例,您可以在<build>部分中添加以下内容:

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                    <fork>true</fork>
                </configuration>
            </plugin>
    

    然后像mvn package spring-boot:repackage一样运行构建。实际上documentation for the plugin还不错