相关疑难解决方法(0)

从 Docker 容器中的 maven Quarkus 项目的资源文件夹中读取 txt 文件

我有一个项目来解析一个大文件中的一些信息。

项目使用maven和java: 在此处输入图片说明

结构如下:

在此处输入图片说明

当我从 IDEA 运行应用程序时,我可以使用以下命令读取文件:

public  void buffer() throws IOException {
    try (InputStream inputStream = getClass().getResourceAsStream("/151279.txt");
         BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
        String contents = reader.lines()
                .collect(Collectors.joining(System.lineSeparator()));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,如果我运行:

 ./mvnw package 
java -jar target/file-parser-1.0-SNAPSHOT-runner.jar
Run Code Online (Sandbox Code Playgroud)

一切顺利。

即使我生成 GraalNative jar 并从本机生成 jar 运行应用程序:

./mvnw package -Pnative -Dquarkus.native.container-build=true

java -jar target/file-parser-1.0-SNAPSHOT-native-image-source-jar/file-parser-1.0-SNAPSHOT-runner.jar
Run Code Online (Sandbox Code Playgroud)

这一切都很好。

但是,当我运行命令以使用 docker 构建和运行时,我遇到了错误:

docker build -f src/main/docker/Dockerfile.native -t quarkus/file-parser 

docker run -i --rm -p 8080:8080 quarkus/file-parser

2020-03-16 17:48:04,908 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /init failed, error id: …
Run Code Online (Sandbox Code Playgroud)

java maven docker dockerfile quarkus

5
推荐指数
1
解决办法
4971
查看次数

如何在Quarkus本机映像中包括类路径资源?

似乎默认情况下,由Quarkus生成的本机映像不包含任何对应于的内容的类路径资源src/main/resources/

GraalVM文档中,我有点理解为什么会发生这种情况,但是现在我陷入了困境。有没有一种方法可以配置quarkus-maven-plugin将资源包括在本机映像中?

quarkus

3
推荐指数
1
解决办法
499
查看次数

标签 统计

quarkus ×2

docker ×1

dockerfile ×1

java ×1

maven ×1