我使用Spring Tool Suite4。我们有一个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安装?到目前为止,如果我运行maven install(这对我来说是我知道的创建可执行文件的唯一方式),那么它会给我AssertionError。我尝试在线查找指南,但没有一个起作用。
就目前而言,如果我什至可以执行maven安装,我会很高兴,但是我的计划包括在可执行文件之外使用配置文件,我也想在jar文件旁边登录(log4j2),所以我需要也帮助那些人。如何在pom.xml中指定这些,以便我可以从外部使用配置文件并能够从外部登录?
答案 0 :(得分:0)
您需要一个可执行的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>
答案 1 :(得分:0)
所以我得到了AssertionError,因为出于某些原因,我的某些测试不适用于Maven(即使我执行了测试也可以通过)。 罐子或战争实际上很重要。就我而言,这是一场战争,因为我正在制作API 另外,这是您必须更改pom.xml才能创建可执行文件的最低要求:(在pom.xml内部的依赖项之前)
<Stream cam4.webm>
Feed feed4.ffm
Format webm
# Audio settings
NoAudio
# Video settings
VideoCodec libvpx
VideoSize 720x576
VideoFrameRate 25
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionAudio flags +global_header
PreRoll -1
StartSendOnKey
VideoBitRate 400
</Stream>
以下部分在<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>
总而言之,我仍然不知道其中大多数是做什么的,但这是可行的。