jenkins - 在 weblogic 12.1.13 上安装 Jenkins 2.121.2
问题描述
我正在尝试在 weblogic 12.1.13 上安装 Jenkins 2.121.2。安装后,ManagedServer 处于 Running 状态,weblogic 中的 Jenkins 也显示 Active 状态。但是,managedserver 日志显示以下错误消息:
Jenkins home directory: /home/weblogic/.jenkins found at: $user.home/.jenkins
Aug 14, 2018 12:52:17 PM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.HudsonFailedToLoad: java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.readLines(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljava/util/List;
at hudson.WebAppMain$3.run(WebAppMain.java:247)
Caused by: java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.readLines(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljava/util/List;
at hudson.ClassicPluginStrategy.configLines(ClassicPluginStrategy.java:452)
at hudson.ClassicPluginStrategy.<clinit>(ClassicPluginStrategy.java:438)
at hudson.PluginManager.createPluginStrategy(PluginManager.java:1128)
at hudson.PluginManager.<init>(PluginManager.java:328)
at hudson.LocalPluginManager.<init>(LocalPluginManager.java:50)
at hudson.LocalPluginManager.<init>(LocalPluginManager.java:58)
at hudson.PluginManager.createDefault(PluginManager.java:253)
at jenkins.model.Jenkins.<init>(Jenkins.java:894)
at hudson.model.Hudson.<init>(Hudson.java:85)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.WebAppMain$3.run(WebAppMain.java:233)
Truncated. see log file for complete stacktrace
>
Aug 14, 2018 12:52:21 PM jenkins.model.Jenkins cleanUp
INFO: Stopping Jenkins
Aug 14, 2018 12:52:21 PM jenkins.model.Jenkins$19 onAttained
INFO: Started termination
Aug 14, 2018 12:52:21 PM jenkins.model.Jenkins$19 onTaskFailed
SEVERE: Failed IOHubProvider.cleanUp
java.lang.IllegalArgumentException: Unable to inject class jenkins.slaves.IOHubProvider
at hudson.init.TaskMethodFinder.lookUp(TaskMethodFinder.java:125)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:105)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:175)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at jenkins.model.Jenkins$18.execute(Jenkins.java:3338)
at org.jvnet.hudson.reactor.Reactor$Node.runIfPossible(Reactor.java:139)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:128)
at jenkins.model.Jenkins$18.execute(Jenkins.java:3338)
at org.jvnet.hudson.reactor.Reactor$Node.runIfPossible(Reactor.java:139)
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:276)
at jenkins.model.Jenkins._cleanUpRunTerminators(Jenkins.java:3335)
at jenkins.model.Jenkins.cleanUp(Jenkins.java:3256)
at hudson.WebAppMain$3.run(WebAppMain.java:254)
http://hostname:7001/jenkins给了我 404。
我还尝试了Installation of Jenkins into Weblogic中描述的方法,但也没有帮助,我得到了上面提到的相同错误。
解决方案
创建如下所示的 weblogic.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.3.0.0</wls:weblogic-version>
<wls:context-root>jenkins</wls:context-root>
<wls:container-descriptor>
<wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
<wls:prefer-application-packages>
<wls:package-name>com.google.common.*</wls:package-name>
<wls:package-name>org.jvnet.*</wls:package-name>
<wls:package-name>org.apache.commons.io.*</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>
将此文件放到war 文件的WEB-INF 目录中。注意:这是在 Oracle WebLogic 12.1.13 和 12.2.1 上测试的
以下元素指示 weblogic 从 weblogic.war 文件中的 jar 文件加载包 org.apache.commons.io.* 并解决了我遇到的错误。
<wls:prefer-application-packages>
<wls:package-name>org.apache.commons.io.*</wls:package-name>
推荐阅读
- r - 代码运行时计算机重新启动
- python - Django:更改时区时日期未正确更改
- github - 如何使用compression-webpack-plugin 将压缩文件部署到Github 或其他服务器?
- ssh - 无法在 Windows 10 上连接 SSH。我不知道我必须输入什么密码
- mysql - 如果特定月份没有销售类别,mysql如何返回0
- node.js - NextJs : 功能组件条件返回/渲染
- rxjs - 如何使 concatMap 嵌套
- vue.js - 如何使用自定义设计系统将电子邮件订阅表单添加到 Node JS 应用程序
- r - 如何删除R中点后的字符?
- excel - 如何区分触发工作表更改事件的不同操作