无主类弹簧靴

2022-09-02 08:53:08

我正在尝试使用Spring Boot,并创建一个jar,并将其安装到我的maven存储库中。

这是一个库jar文件,将用作我的主应用程序中的依赖项,该应用程序也是Spring-Boot应用程序。现在,我只是在做一个你好世界的例子。这是我在这个项目中的一个类:

public class MyLibrary {

  public String getMessage() {
    return "Hello World!";
  }
}

我的POM基本上是这样的:

<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<groupId>com.me.plugin</groupId>
<artifactId>myLibrary</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.7.RELEASE</version>
</parent>

<dependencies> 
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
</dependencies>

但是当我尝试构建时,我得到“找不到主类”错误。这对我来说非常有意义,但是我如何让春天做一个图书馆罐子。我知道我可以用一个main方法添加一个应用程序.java,但这不是我想要的,我想要一个简单的jar文件,但是带有所有Spring-Boot注释,注入等...

我该怎么做?弹簧靴不是我想要的吗?


答案 1

我确信您正在pom中使用spring-boot-maven-plugin.xml(如下所示),它允许您打包可执行jar或war存档并运行应用程序。

使用此插件,spring会搜索主应用程序。你不需要这个插件来做弹簧库项目。删除此插件并全新安装 。

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

我假设您正在此库项目中创建一些spring配置文件或组件。你可能不需要大胖的弹簧靴启动器。但是,如果您需要多个弹簧模块,并且想要一个地方用于所有依赖项,那就没问题了。


答案 2

推荐