【发布时间】:2020-07-10 17:38:26
【问题描述】:
我有一个双重构建、本地(fat jar)和战争(war)的 Spring Boot 应用程序。
我是这样处理的:
<packaging>${application.packaging}</packaging>
...
<profiles>
<profile>
<id>dev</id>
<properties>
<application.packaging>jar</application.packaging>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>war</id>
<properties>
<application.packaging>war</application.packaging>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>false</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
奇怪的是,即使默认配置文件是dev所以包装是jar,eclipse错误仍然弹出。它似乎对我的构建没有任何影响,但我仍然想摆脱它。 我该怎么做?
【问题讨论】:
-
${application.packaging}定义在哪里? -
全部申请
spring-boot-maven-plugin,只需更换包装即可。 -
@JFMeier 正如你所看到的,它是在配置文件中定义的一个属性,它是用于开发的 jar 和用于战争的战争
-
将包装定义为
war删除配置文件和maven-war-plugin ...正如这里的几个人已经提到的那样。 -
@Phate 不,我看不到您在哪里设置
${application.packaging}的值。它在命令行上吗?还是在<properties>部分?
标签: eclipse spring-boot maven