Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JarInputStream打开jar时,Jenkins上的构建失败_Java_Maven_Jar_Jenkins - Fatal编程技术网

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

Java 使用JarInputStream打开jar时,Jenkins上的构建失败,java,maven,jar,jenkins,Java,Maven,Jar,Jenkins,我有一个多模块Maven项目,我正在Jenkins CI服务器上构建。其中一个模块有一些代码,需要打开并扫描其他模块生成的jar 代码从类路径识别jar路径,并使用JarInputStream打开它 jarFile = new JarInputStream(new FileInputStream(jarPath)); JarEntry jarEntry = jarFile.getNextJarEntry(); 此代码是从单元测试调用的。包含此代码的模块依赖于其他模块,因此它是最后生成的

我有一个多模块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(没有这样的文件或目录)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:146)
位于java.io.FileInputStream。(FileInputStream.java:101)


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

使用URL解码器解码URL,或者简单地将Jenkins项目重命名为名称中没有空格

哪个模块首先生成?Jenkins框和开发框上的maven版本是什么。@JigarJoshi我更新了问题,它们是相互依赖的。@JohnFarrelly 3.2.1和3.0.4(我更新了问题),如果文件存在,在磁盘上出现故障后,您是否可以立即检查