gpt4 book ai didi

java - 使用 JarInputStream 打开 jar 时,Jenkins 上的构建失败

转载 作者:行者123 更新时间:2023-12-01 12:53:52 24 4
gpt4 key购买 nike

我有一个多模块 Maven 项目,正在 Jenkins CI 服务器上构建。其中一个模块有一些代码需要打开并扫描其他模块生成的 jar。

代码从类路径中识别 jar 路径并使用 JarInputStream 打开它。 .

  jarFile = new JarInputStream(new FileInputStream(jarPath));
JarEntry jarEntry = jarFile.getNextJarEntry();

此代码是从单元测试中调用的。包含此代码的模块依赖于其他模块,因此它是最后构建的。

此代码在两个不同的开发系统中的命令行中成功构建。我的开发盒运行 Maven 3.2.1,Jenkins 构建服务器运行 Maven 3.0.4。

在 Jenkins 上,代码编译成功并且其他测试运行,这表明该 jar 在类路径中可用。但是,当测试尝试打开 jar 时,我得到 FileNotFoundException

java.io.FileNotFoundException: /var/lib/jenkins/workspace/project1%20-%20review/project1/target/project1-0.6-SNAPSHOT.jar (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)

该文件实际上存在于工作区中,因为我可以在 Jenkins Web 界面中看到它。

最佳答案

使用 URLDecoder 解码 URL 或简单地重命名您的 jenkins 项目,使其名称中不包含空格

关于java - 使用 JarInputStream 打开 jar 时,Jenkins 上的构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com