我正在尝试在weblogic 12.1.13上安装Jenkins 2.121.2。安装后,ManagedServer处于“运行”状态,并且weblogic中的Jenkins也显示“活动”状态。但是,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中描述的方法,但也没有帮助,我遇到了上面提到的相同错误。
答案 0 :(得分:1)
创建一个如下所示的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>