当前位置: 首页 > 知识库问答 >
问题:

spring/github/docker-错误:无效或损坏的jarfile

郏瀚
2023-03-14

我是Docker的新手。我在做蠢事。当我在本地构建我的项目时,我可以在Docker上运行它而不会出现问题。我的项目配置如下:

Application.Properties

spring.application.name=dockertest
server.port=8081
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>ch.meyenberger.webapps</groupId>
    <artifactId>dockertest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>dockertest</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
        <docker.image.prefix>meyenbergerwebapps</docker.image.prefix>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <repository>${docker.image.prefix}/${project.artifactId}</repository>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

我按照这个指南https://spring.io/guides/gs/spring-boot-docker/进行了操作,我看不出有什么不同。谢谢你的帮助!

共有1个答案

傅树
2023-03-14

从这个错误来看,我认为Jar文件的路径是不可达的。您确定您正在向您的jar文件提供写路径吗?你能试试这个吗?入口点[“java”,“-djava.security.egd=file://dev/./urandom”,“jar”,“app.jar”]

 类似资料:
  • 我通过spring-boot-maven-plugin(V1.3.6)创建完全可执行的jar,方法如下: 当我从目标目录启动类似于可执行文件的结果jar(类似于“./app.jar”,而不是通过“java-jar app.jar”)时,应用程序可以正确地启动和工作,但是如果我将此jar复制到另一个目录,我会得到错误:“无效或损坏的jar文件/home/user/spring”。(我使用Linux

  • 在最新版本的Xcode中构建应用程序时,我会遇到以下错误: 致命错误:格式错误或损坏的AST文件:“无法加载模块”/users/me/library/developer/xcode/developer/xcode/deriveddata/moduleCache/xyzyie6zv0op/darwin.pcm“:找不到文件”注意:修改系统标头后,请删除位于“/users/me/library/dev

  • 当我尝试在VS2010中构建一个简单的程序时,编译成功,但当我尝试构建解决方案时,它会给我以下错误: 我做错了什么?

  • 问题内容: 我正在运行gulp 3.6.2,并具有从在线示例中设置的以下任务 每当我的CoffeeScript gulp手表出现错误时,手表就会停止-显然不是我想要的。 正如其他地方推荐的那样 但它似乎不起作用。 我究竟做错了什么? 响应@Aperçu的回答,我修改了方法并尝试了以下操作: 重新启动,然后在我的coffee文件中创建语法错误。相同的问题: 问题答案: 您的函数应如下所示: 我认为您

  • 问题内容: 在将Maven jFree依赖项添加到现有应用程序后,我将无法执行创建的jar。 我收到的唯一错误消息如下: 完整的外观如下所示: 如果执行jar,则不会得到其他任何调试信息。 是否可以验证jarfile?或有类似…的东西? 重现步骤: 新建一个文件夹 从上方将Pom.xml复制到该文件夹​​中。 保存小的`public static void main(…)。进入src / main

  • SLF4J:未能加载类“org.slf4j.impl.StatibloggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关更多细节,请参见http://www.slf4j.org/codes.html#staticloggerbinder。 这里是main