是否有人成功地更新了jenkins的log4j jar文件,让udeploy按照他们的站点http://wiki.urbancode.com/uDeploy/Repositories提供的说明工作,如下所示?
注意: Jenkins经常使用比我们的插件需要的更老的log4j文件。你可能需要更换它。见下面的说明:
对于独立的Jenkins实例(而不是Tomcat应用程序),Jenkins保存了它所有文件的哈希,并且在启动Jenkins时会抛出一个错误,原因是修改了log4j文件后出现了不匹配的散列。唯一的解决方案是删除跟踪散列的文件中的值。“
我解压缩了war文件,删除了在WEB/lib/下找到的log4j jar ( 1.2.9 ),添加了最新的log4j jar (1.2.17),将其重命名为1.2.9,然后删除log4j 1.2.9的SHA1-Digest: line (散列),它似乎与上面的说明一致。部署war ()会导致以下错误,抱怨清单中没有SHA1签名:
Starting Jenkins Exception in thread "main" java.lang.SecurityException: invalid SHA1 signature file digest for WEB-INF/lib/log4j-1.2.9.jar
at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:457)
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:250)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:193)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:262)
at java.util.jar.JarVerifier.update(JarVerifier.java:216)
at java.util.jar.JarFile.initializeVerifier(JarFile.java:341)
at java.util.jar.JarFile.getInputStream(JarFile.java:406)
at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:752)
at sun.misc.Resource.cachedInputStream(Resource.java:77)
at sun.misc.Resource.getByteBuffer(Resource.java:160)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:436)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:476)
[FAILED]我遗漏了什么?我认为我正确地遵循了方向,显然有足够多的人遇到了这个问题,因为uDeploy在他们的wiki页面上添加了一个特别的注释。如有任何帮助/建议/想法,将不胜感激。
詹金斯是1.525版。
发布于 2014-02-27 13:12:28
如果还有人对溶液感兴趣的话,我并没有删除消化液。刚才删除了log4j-1.2.9.jar并添加了log4j-1.2.17.jar (没有重命名),这就是我所做的一切。A它工作得很好。詹金斯1.542版。
发布于 2013-10-11 19:25:26
你为什么要把它重命名为1.2.9?它可能会被命名为1.2.17。这是一个签名的罐子,重命名可能就是它破裂的原因。
如果jenkins运行在linux上的tomcat上,您可能会更快地登录到webapp目录的框中,并在那里更改不断扩展的war,而不是重新打包jenkins war。
发布于 2014-08-12 14:08:32
按照以下步骤更改log4j版本并解决所述的uDeploy问题:
没有必要遵循IBM :- https://developer.ibm.com/urbancode/plugin/jenkins-ibmucd/给出的所有解决方案步骤。
https://stackoverflow.com/questions/19324373
复制相似问题