簡體   English   中英

將 Spring 引導項目導出為具有依賴項的 JAR

[英]Exporting a Spring Boot Project as a JAR with dependencies

我有一個 Spring 引導項目,我想將其用作另一個項目的依賴項。

首先,在我的 pom.xml 中,我將包裝標簽設置為 jar。但是,這會產生一個帶有 BOOT-INF 文件夾的 jar,無法將其導入到其他項目中。 為了解決這個問題,我添加了以下幾行:

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.4.2</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
        <id>make-assembly</id> <!-- this is used for inheritance merges -->
        <phase>package</phase> <!-- bind to the packaging phase -->
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

現在,當我運行mvn clean package時,會生成兩個 jars:

  1. A jar 可以正確導入,但是缺少依賴項
  2. 另一個 jar 帶有BOOT-INF\lib文件夾(包含依賴項)

我想讓第一個 jar 也包含這些庫。

請將此添加到 pom.xml 中,然后重試。

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

注意 - 無需使用 main 方法添加 class,因此您可以像這樣刪除類似的 class。

@SpringBootApplication
public class DemoApplication{

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM