首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins udeploy插件log4j问题

Jenkins udeploy插件log4j问题
EN

Stack Overflow用户
提问于 2013-10-11 17:53:28
回答 4查看 1.6K关注 0票数 1

是否有人成功地更新了jenkins的log4j jar文件,让udeploy按照他们的站点http://wiki.urbancode.com/uDeploy/Repositories提供的说明工作,如下所示?

注意: Jenkins经常使用比我们的插件需要的更老的log4j文件。你可能需要更换它。见下面的说明:

  1. 解压缩jenkins.war
  2. 在解压缩的..war目录中打开/web/lib,以确定Jenkin的log4j.jar的名称
  3. 导航到uDeploy服务器的%serverLocation%/lib目录,并将log4j.jar复制到Jenkin的/web/lib/目录,用uDeploy重写现有的log4j (将其重命名为与Jenkin的目录匹配)

对于独立的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签名:

代码语言:javascript
复制
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版。

EN

回答 4

Stack Overflow用户

发布于 2014-02-27 13:12:28

如果还有人对溶液感兴趣的话,我并没有删除消化液。刚才删除了log4j-1.2.9.jar并添加了log4j-1.2.17.jar (没有重命名),这就是我所做的一切。A它工作得很好。詹金斯1.542版。

票数 3
EN

Stack Overflow用户

发布于 2013-10-11 19:25:26

你为什么要把它重命名为1.2.9?它可能会被命名为1.2.17。这是一个签名的罐子,重命名可能就是它破裂的原因。

如果jenkins运行在linux上的tomcat上,您可能会更快地登录到webapp目录的框中,并在那里更改不断扩展的war,而不是重新打包jenkins war。

票数 1
EN

Stack Overflow用户

发布于 2014-08-12 14:08:32

按照以下步骤更改log4j版本并解决所述的uDeploy问题:

  1. 阻止詹金斯
  2. 转到Jenkins的安装目录
  3. 导航到windows系统上的..jenkins\war\WEB\lib
  4. 删除log4j-1.2.9.jar并添加log4j-1.2.17.jar (没有重命名)
  5. 重启Jenkins

没有必要遵循IBM :- https://developer.ibm.com/urbancode/plugin/jenkins-ibmucd/给出的所有解决方案步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19324373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档