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

时间:2014-06-04 04:59:46

标签: java maven jar jenkins

我有一个多模块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界面中看到它。

1 个答案:

答案 0 :(得分:1)

使用URLDecoder解码URL或只是将jenkins项目重命名为名称中没有空格