[FIXED] Spring Boot ohne Hauptklasse

Ausgabe

Ich versuche, Spring Boot zu verwenden, ein JAR zu erstellen und es in meinem Maven-Repo zu installieren.

Dies ist eine Bibliotheks-JAR-Datei, die als Abhängigkeit in meiner Hauptanwendung verwendet wird, die auch eine Spring-Boot-Anwendung ist. Im Moment arbeite ich nur an einem Hallo-Welt-Beispiel. Hier ist meine einzige Klasse in diesem Projekt:

public class MyLibrary {

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

und mein POM sieht im Grunde so aus:

<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>

Aber wenn ich versuche zu bauen, erhalte ich den Fehler „Hauptklasse kann nicht gefunden werden“. Was für mich absolut sinnvoll ist, aber wie bekomme ich den Frühling dazu, ein Bibliotheksglas zu erstellen. Ich weiß, dass ich eine Application.java mit einer Hauptmethode hinzufügen könnte , aber das ist nicht das, was ich will, ich will eine einfache JAR-Datei, aber mit all den Spring-Boot-Anmerkungen, Injektionen usw.

Wie würde ich vorgehen? Ist Spring Boot hier nicht das, was ich will?

Lösung

Ich bin sicher, dass Sie spring-boot-maven-plugin in Ihrer pom.xml verwenden (wie unten angegeben), was es Ihnen ermöglicht, ausführbare JAR- oder Kriegsarchive zu packen und eine Anwendung auszuführen.

Mit diesem Plugin sucht Spring nach einer Hauptanwendung. Sie benötigen dieses Plugin nicht für ein Spring-Bibliotheksprojekt. Lösche dieses Plugin und installiere neu.

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

Ich nehme an, Sie erstellen in diesem Bibliotheksprojekt einige Federkonfigurationsdateien oder -komponenten. Möglicherweise brauchen Sie keinen großen, fetten Spring-Boot-Starter. Aber es ist in Ordnung, wenn Sie mehrere Federmodule benötigen und einen Ort für alle Abhängigkeiten wünschen.


Beantwortet von –
surya


Antwort geprüft von –
Cary Denson (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] Spring set default PathVariable

Ausgabe Ich möchte meine Parameter im folgenden Format an meinen Webdienst übergeben: http://…/greetings/neil/1 Statt http://…/greetings?name=neil&id=1 Also habe ich…