Eclipse web.xml丢失,并且<;failOnMissingWebXml>;设置为true';我无法使用配置文件
我有一个springboot应用程序,它有一个双构建,本地(fatjar)和war(war) 我是这样处理的:Eclipse web.xml丢失,并且<;failOnMissingWebXml>;设置为true';我无法使用配置文件,eclipse,spring-boot,maven,Eclipse,Spring Boot,Maven,我有一个springboot应用程序,它有一个双构建,本地(fatjar)和war(war) 我是这样处理的: <packaging>${application.packaging}</packaging> ... <profiles> <profile> <id>dev</id> <properties> <application.pack
<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>
${application.packaging}
...
发展
罐子
真的
org.springframework.boot
springbootmaven插件
战争
战争
org.apache.maven.plugins
maven战争插件
3.1.0
假的
奇怪的是,即使默认配置文件是dev,所以打包是jar,eclipse错误仍然会弹出。它似乎对我的身材没有任何影响,但我还是想摆脱它。
我如何才能做到这一点?从您的个人资料中删除插件。只换包装
<packaging>${application.packaging}</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<application.packaging>jar</application.packaging>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>war</id>
<properties>
<application.packaging>war</application.packaging>
</properties>
</profile>
</profiles>
这将构建一个既可执行又可部署的war文件。这一点在本文中也有解释。它有一整节是关于如何做到这一点的 哪里定义了
${application.packaging}
应用spring boot maven plugin
只需更改包装即可。@JFMeier,正如您所见,它是在配置文件中定义的属性,这是jar for dev和war for ward将打包定义为war
删除配置文件和maven war插件…正如一些人在这里已经提到的那样。@Phate否,我看不到您在哪里设置${application.packaging}
的值。它在命令行上吗?或者在
部分?这正是我想要避免的,也是本主题的目的…为什么我应该为我的本地环境保留一个war构建插件?请阅读。。。删除那个插件,只留下spring启动插件。但这样它只能打败一个远震器…还是不行?不,不会。如前所述,我强烈建议不要构建两个不同的工件。只需在您的常规开发人员中构建war即可。您仍然可以执行它java-jar my.war
。它既是可执行的,也是可部署的。
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</provided>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>