spring-boot - 无法运行springboot的war文件:Exec格式错误
问题描述
我无法在 debian VPS 上运行 springboot 的战争文件
我得到“-bash:./odc-central-0.0.1-SNAPSHOT.war:无法执行二进制文件:执行格式错误”
当我在我的计算机上构建并从那里启动它时,它工作正常。当我在 VPS 上移动此构建时,它无法运行。
当我在 VPS 上构建它并从那里启动它时,它不起作用。但是,如果我将此构建粘贴到我的计算机上,它就可以正常工作。
所以我假设我应该在 VPS 中搜索问题,但我不知道从哪里开始。
uname -a 命令输出:
@my computer : Linux <mycomp> 5.11.0-36-generic #40~20.04.1-Ubuntu SMP Sat Sep 18 02:14:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
@VPS : Linux <myvps> 4.19.0-11-cloud-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux
现在我可以使用“java -jar file.war”命令运行,但我真的很想知道为什么会出现这个错误(我有另一个类似的应用程序和另一个类似的 VPS,这种构建和运行方式工作正常)
编辑:war文件是用maven构建的,这是我猜的相关代码
命令行: mvn clean verify -DskipTests -Pprod
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>ODC Central</name>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>${maven-war-plugin.version}</version>
<executions>
<execution>
<id>default-war</id>
<goals>
<goal>war</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<warSourceIncludes>WEB-INF/**,META-INF/**</warSourceIncludes>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warSourceDirectory>target/classes/static/</warSourceDirectory>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<includes>
<include>WEB-INF/**</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
编辑 2:正如 Scott 在评论部分所建议的,我在 maven spring boot 插件 conf 中添加了“可执行”行,并且能够运行构建。不知道为什么我以前在我的计算机上没有这个 conf 就能够运行它。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<fork>true</fork>
</configuration>
</plugin>
解决方案
推荐阅读
- javascript - 如何在具有背景颜色的同时一一粘贴标题?
- scala - Scala 以列表为键、字符串为值的地图展平
- ios - HTML
- python - 描述中提到的具有所有子图的大图
- java - 我正在制作一个简单的 JavaFx 程序。只需一个按钮即可查看错误
- vb.net - 有人如何从数据库表中选择 datat 到树视图控件 VB.NET?
- javascript - Javascript Audio Play() 函数在 Microsoft Edge 中无法正常工作
- java - MySQL - Java - 使用定义的方法执行 - 语句
- c# - 如何使用 LINQ 检查一个元素或另一个元素中的元素是否存在?
- javascript - 当元素失去焦点时,Angular-UI-Bootstrap uib-tooltip 不会隐藏