When I run the Kettle 8.0 source by intellij idea, I get the following error:log4j:ERROR Could not parse file [plugins/kettle5-log4j-plugin/log4j.xml]

When I run the Kettle 8.0 source by intellij idea, I get the following error:log4j:ERROR Could not parse file [plugins/kettle5-log4j-plugin/log4j.xml]

当我通过 intellij idea 运行 Kettle 8.0 源时,我得到以下 error:log4j:ERROR 无法解析文件 [plugins/kettle5-log4j-plugin/log4j.xml].

错误输出如下:

Connected to the target VM, address: '127.0.0.1:51628', transport: 'socket'
log4j:ERROR Could not parse file [plugins/kettle5-log4j-plugin/log4j.xml].
java.io.FileNotFoundException: F:\open-source\Java\open-framwork\pentaho-kettle-8.0.0.0-R\plugins\kettle5-log4j-plugin\log4j.xml (系统找不到指定的路径。)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
    at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:598)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:711)
    at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:604)
    at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:733)
    at org.pentaho.di.core.logging.log4j.Log4jLogging.applyLog4jConfiguration(Log4jLogging.java:81)
    at org.pentaho.di.core.logging.log4j.Log4jLogging.createLogger(Log4jLogging.java:89)
    at org.pentaho.di.core.logging.log4j.Log4jLogging.init(Log4jLogging.java:68)
    at org.pentaho.di.core.KettleClientEnvironment.initLogginPlugins(KettleClientEnvironment.java:155)
    at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:118)
    at org.pentaho.di.core.KettleClientEnvironment.init(KettleClientEnvironment.java:79)
    at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:124)
    at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:98)
    at org.pentaho.di.core.KettleEnvironment.init(KettleEnvironment.java:79)
    at org.pentaho.di.ui.spoon.Spoon.call(Spoon.java:624)
    at org.pentaho.di.ui.spoon.Spoon.call(Spoon.java:616)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
log4j:WARN No appenders could be found for logger (org.apache.commons.vfs2.cache.SoftRefFilesCache).
log4j:WARN Please initialize the log4j system properly.
java.lang.NoClassDefFoundError: org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.newInstance(Class.java:412)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
    at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:208)
    at org.pentaho.di.core.Props.<init>(Props.java:232)
    at org.pentaho.di.ui.core.PropsUI.<init>(PropsUI.java:174)
    at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:127)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:670)
Caused by: java.lang.ClassNotFoundException: org.pentaho.metaverse.api.analyzer.kettle.step.IStepExternalResourceConsumer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromParent(KettleURLClassLoader.java:89)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:108)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 10 more
2018/04/22 23:54:57 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : Unexpected error loading class for plugin KettleXmlPlugin
2018/04/22 23:54:57 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : org.pentaho.di.core.exception.KettlePluginException: 
2018/04/22 23:54:57 - General - Unexpected error loading class:
2018/04/22 23:54:57 - General - org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
2018/04/22 23:54:57 - General - 
2018/04/22 23:54:57 - General -     at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:550)
2018/04/22 23:54:57 - General -     at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:208)
2018/04/22 23:54:57 - General -     at org.pentaho.di.core.Props.<init>(Props.java:232)
2018/04/22 23:54:57 - General -     at org.pentaho.di.ui.core.PropsUI.<init>(PropsUI.java:174)
2018/04/22 23:54:57 - General -     at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:127)
2018/04/22 23:54:57 - General -     at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:670)
2018/04/22 23:54:57 - General - Caused by: java.lang.NoClassDefFoundError: org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
2018/04/22 23:54:57 - General -     at java.lang.Class.getDeclaredConstructors0(Native Method)
2018/04/22 23:54:57 - General -     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
2018/04/22 23:54:57 - General -     at java.lang.Class.getConstructor0(Class.java:3075)
2018/04/22 23:54:57 - General -     at java.lang.Class.newInstance(Class.java:412)
2018/04/22 23:54:57 - General -     at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
2018/04/22 23:54:57 - General -     ... 5 more
2018/04/22 23:54:57 - General - Caused by: java.lang.ClassNotFoundException: org.pentaho.metaverse.api.analyzer.kettle.step.IStepExternalResourceConsumer
2018/04/22 23:54:57 - General -     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
2018/04/22 23:54:57 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
2018/04/22 23:54:57 - General -     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
2018/04/22 23:54:57 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2018/04/22 23:54:57 - General -     at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromParent(KettleURLClassLoader.java:89)
2018/04/22 23:54:57 - General -     at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:108)
2018/04/22 23:54:57 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2018/04/22 23:54:57 - General -     ... 10 more
java.lang.NoClassDefFoundError: org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.newInstance(Class.java:412)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
    at org.pentaho.di.core.lifecycle.LifecycleSupport.loadPlugins(LifecycleSupport.java:93)
    at org.pentaho.di.core.lifecycle.LifecycleSupport.<init>(LifecycleSupport.java:47)
    at org.pentaho.di.ui.spoon.Spoon.<init>(Spoon.java:538)
    at org.pentaho.di.ui.spoon.Spoon.<init>(Spoon.java:737)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:678)
Caused by: java.lang.ClassNotFoundException: org.pentaho.metaverse.api.analyzer.kettle.step.IStepExternalResourceConsumer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromParent(KettleURLClassLoader.java:89)
    at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:108)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 10 more
2018/04/22 23:55:00 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : Unexpected error loading class for plugin KettleXmlPlugin
2018/04/22 23:55:00 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : org.pentaho.di.core.exception.KettlePluginException: 
2018/04/22 23:55:00 - General - Unexpected error loading class:
2018/04/22 23:55:00 - General - org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
2018/04/22 23:55:00 - General - 
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:550)
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.lifecycle.LifecycleSupport.loadPlugins(LifecycleSupport.java:93)
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.lifecycle.LifecycleSupport.<init>(LifecycleSupport.java:47)
2018/04/22 23:55:00 - General -     at org.pentaho.di.ui.spoon.Spoon.<init>(Spoon.java:538)
2018/04/22 23:55:00 - General -     at org.pentaho.di.ui.spoon.Spoon.<init>(Spoon.java:737)
2018/04/22 23:55:00 - General -     at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:678)
2018/04/22 23:55:00 - General - Caused by: java.lang.NoClassDefFoundError: org/pentaho/metaverse/api/analyzer/kettle/step/IStepExternalResourceConsumer
2018/04/22 23:55:00 - General -     at java.lang.Class.getDeclaredConstructors0(Native Method)
2018/04/22 23:55:00 - General -     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
2018/04/22 23:55:00 - General -     at java.lang.Class.getConstructor0(Class.java:3075)
2018/04/22 23:55:00 - General -     at java.lang.Class.newInstance(Class.java:412)
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
2018/04/22 23:55:00 - General -     ... 5 more
2018/04/22 23:55:00 - General - Caused by: java.lang.ClassNotFoundException: org.pentaho.metaverse.api.analyzer.kettle.step.IStepExternalResourceConsumer
2018/04/22 23:55:00 - General -     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
2018/04/22 23:55:00 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
2018/04/22 23:55:00 - General -     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
2018/04/22 23:55:00 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromParent(KettleURLClassLoader.java:89)
2018/04/22 23:55:00 - General -     at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:108)
2018/04/22 23:55:00 - General -     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
2018/04/22 23:55:00 - General -     ... 10 more
org.pentaho.di.core.exception.KettlePluginException: 
Unable to instantiate class
org.pentaho.di.ui.repo.RepositorySpoonPlugin

    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:540)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:366)
    at org.pentaho.di.ui.spoon.SpoonPluginManager.pluginAdded(SpoonPluginManager.java:65)
    at org.pentaho.di.ui.spoon.SpoonPluginManager.<init>(SpoonPluginManager.java:173)
    at org.pentaho.di.ui.spoon.SpoonPluginManager.<clinit>(SpoonPluginManager.java:58)
    at org.pentaho.di.ui.spoon.Spoon.init(Spoon.java:875)
    at org.pentaho.di.ui.spoon.Spoon.createContents(Spoon.java:9209)
    at org.eclipse.jface.window.Window.create(Window.java:426)
    at org.eclipse.jface.window.Window.open(Window.java:785)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9240)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
Caused by: java.lang.InstantiationException: org.pentaho.di.ui.repo.RepositorySpoonPlugin
    at java.lang.Class.newInstance(Class.java:427)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
    ... 10 more
Caused by: java.lang.NoSuchMethodException: org.pentaho.di.ui.repo.RepositorySpoonPlugin.<init>()
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.newInstance(Class.java:412)
    ... 11 more
stopping
2018/04/22 23:55:02 - ExtensionPointMap - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : Unable to load extension point for name = [SpoonStart]
2018/04/22 23:55:02 - ExtensionPointMap - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : org.pentaho.di.core.exception.KettlePluginException: 
2018/04/22 23:55:02 - ExtensionPointMap - Unable to instantiate class
2018/04/22 23:55:02 - ExtensionPointMap - org.pentaho.di.ui.repo.RepositorySpoonStartExtensionPoint
2018/04/22 23:55:02 - ExtensionPointMap - 
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:540)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.extension.ExtensionPointMap$ExtensionPointLoader.get(ExtensionPointMap.java:200)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.extension.ExtensionPointMap$ExtensionPointLoader.get(ExtensionPointMap.java:191)
2018/04/22 23:55:02 - ExtensionPointMap -   at com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:125)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.extension.ExtensionPointMap.callExtensionPoint(ExtensionPointMap.java:151)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.extension.ExtensionPointHandler.callExtensionPoint(ExtensionPointHandler.java:45)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9242)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
2018/04/22 23:55:02 - ExtensionPointMap - Caused by: java.lang.InstantiationException: org.pentaho.di.ui.repo.RepositorySpoonStartExtensionPoint
2018/04/22 23:55:02 - ExtensionPointMap -   at java.lang.Class.newInstance(Class.java:427)
2018/04/22 23:55:02 - ExtensionPointMap -   at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:535)
2018/04/22 23:55:02 - ExtensionPointMap -   ... 7 more
2018/04/22 23:55:02 - ExtensionPointMap - Caused by: java.lang.NoSuchMethodException: org.pentaho.di.ui.repo.RepositorySpoonStartExtensionPoint.<init>()
2018/04/22 23:55:02 - ExtensionPointMap -   at java.lang.Class.getConstructor0(Class.java:3082)
2018/04/22 23:55:02 - ExtensionPointMap -   at java.lang.Class.newInstance(Class.java:412)
2018/04/22 23:55:02 - ExtensionPointMap -   ... 8 more
2018/04/22 23:55:02 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : Error starting Spoon shell
2018/04/22 23:55:02 - General - ERROR (version Unknown, build 0 from 2018/04/22 23:54:25.583 by Administrator) : java.lang.NullPointerException
2018/04/22 23:55:02 - General -     at org.pentaho.di.core.extension.ExtensionPointMap.callExtensionPoint(ExtensionPointMap.java:151)
2018/04/22 23:55:02 - General -     at org.pentaho.di.core.extension.ExtensionPointHandler.callExtensionPoint(ExtensionPointHandler.java:45)
2018/04/22 23:55:02 - General -     at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9242)
2018/04/22 23:55:02 - General -     at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
Disconnected from the target VM, address: '127.0.0.1:51628', transport: 'socket'

Process finished with exit code 0

我可以使用maven build install成功编译可执行应用程序,但是我不能运行直接通过idea IDE

Kettle 准确地告诉您问题所在:文件丢失。它是 log4j.xml 保存日志记录配置(记录什么,在哪里等...)。

可以在 github 上找到此文件。确切位置是https://github.com/pentaho/pentaho-kettle/tree/master/plugins/log4j/core/src/main/resources.

将该文件放在 kettle 要求您放置的位置:F:\open-source\Java\open-framwork\pentaho-kettle-8.0.0.0-R\plugins\kettle5-log4j-plugin\log4j.xml.