![](/img/trans.png)
[英]Maven and Netbeans: how do I build project and get executable jar?
[英]How do i create executable from spring maven project?
我使用Spring Tool Suite 4.我們有一個spring-boot API,我們想創建一個可執行文件(jar或war,沒有線索,我需要哪一個)。 我們在pom.xml中聲明了依賴項。 默認情況下,如果您創建一個干凈的spring-boot應用程序,這就是我們正在構建的內容:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
所以我的問題是什么,我必須添加,所以我可以實際執行maven install我的可執行文件? 截至目前,如果我運行maven install(這對我來說是我知道創建可執行文件的唯一方法),它會給我一個AssertionError。 我試圖在網上找到指南,但沒有一個能奏效。
現在我很高興,如果我甚至可以設法執行maven安裝,但我的計划包括在可執行文件之外的配置文件的使用我也想在jar文件旁邊記錄(log4j2),所以我需要幫助那些太。 如何在pom.xml中指定這些,以便我可以從外部使用配置文件並能夠在外面登錄?
你會想要一個可執行的jar。 將其添加到您的pom文件中:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<classifier>spring-boot</classifier>
<mainClass>
specify.your.main.Class
</mainClass>
</configuration>
</execution>
</executions>
</plugin>
所以我得到了AssertionError,因為出於某種原因,我的一些測試不適用於maven(即使我執行它們也會通過)。 如果罐子或戰爭真的很重要。 在我的情況下,它必須是一場戰爭,因為我正在創建一個API這里也是你必須在pom.xml中更改以便有機會創建可執行文件的最小值:(這在pom.xml中的依賴項之前)
<packaging>war</packaging>
<properties>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</properties>
以下部分介於<build></build>
。
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>your.main.class</mainClass>
</manifest>
</configuration>
</plugin>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>process-remote-resources</id>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>org.apache:apache-jar-resource-bundle:1.0</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
總而言之,我仍然不知道大多數這樣做,但這是有效的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.