kettle 3.2的webstart _Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2772 | 回复: 0   主题: kettle 3.2的webstart         下一篇 
kyle
注册用户
等级:新兵
经验:31
发帖:58
精华:0
注册:2011-12-6
状态:离线
发送短消息息给kyle 加好友    发送短消息息给kyle 发消息
发表于: IP:您无权察看 2015-4-13 10:11:47 | [全部帖] [楼主帖] 楼主

在尝试Kettle的webstart方式运行时,遇到了一点问题,最终解决。

一、下载kettle
从http://sourceforge.net/projects/pentaho/files/下载pdi3.2(也就是kettle)。 

二、ant webstart
解压后等到kettle trunk目录,在cmd下,直接ant webstart。如果出现编译错误,是因为没有把当前路径加到classpath。
再尝试,会出现以下错误:

 signjar] Signing JAR: G:/Work/Kettle/webstart/libext/salesforce/saaj.jar


[signjar] 警告: 签名者证书将在六个月内过期。

[signjar] Signing JAR: G:/Work/Kettle/webstart/libext/salesforce/salesforce-1.0.jar


[signjar] jarsigner: 无法对 jar 进行签名 : java.util.zip.ZipException: duplicate entry: com/sforce/soap/partner/AssignmentRuleHeader.class BUILD FAILED 
产生的原因为libext/salesforce/salesforce-1.0.jar 里面有重复的文件,不知道为什么会这样,删除重复的文件后(可先用WinRAR解缩,再用压缩),就正常了。

三、部署
将生成的war包,改名为了kettle.war,放到Tomcat的webapps下。访问http://localhost:8080/kettle,就可以页面上看到一个链接,点击链接将开始下载jnlp依赖的jar文件。如果你使用的Tomcat是6.0之前的,请在%tomcat_home%/conf/web.xml文件中,添加

 <mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>


下载过程中,会出现一个“jar签名不一致 ”的错误,产生的原因是spoon.jnlp依赖到的部分jar,已经有其他厂商签名过了。请删除spoon.jnlp中这段代码:

<jar href="libswt/common.jar"/>
<jar href="libswt/commands.jar"/>
<jar href="libswt/jface.jar"/>
<jar href="libswt/runtime.jar"/>


继续尝试,还会提示找不到Spoon类 ,需要修改spoon.jnlp,指定Main文件所在的jar

<jar href="lib/kettle-ui-swt.jar" main="true"/>


继续尝试,已经可以完全下载,出现安全提示,点击“运行”之后,屏幕闪了一下,就没有任何显示了。启用Java 控制台,发现错误如下:

Exception in thread "javawsApplicationMain" java.lang.NoClassDefFoundError: org/pentaho/di/core/database/DatabaseMeta
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)


因为没有导入kettle-db.jar,修改spoon.jnpl

<jar href="lib/kettle-core.jar"/>
<jar href="lib/kettle-ui-swt.jar" main="true"/>
<jar href="lib/kettle-engine.jar"/>
<jar href="lib/kettle-db.jar"/>


还是会有异常出现说找不到图片文件。

NFO 27-
08 15:15:50,734 - Using "C:/DOCUME~1/administator/LOCALS~1/Temp/vfs_cache" as temporary files store.
ERROR 27-
08 15:15:51,234 - Spoon - Fatal error : java.lang.RuntimeException: Unable to load image with name [ui/images/spoon.ico]
ERROR 27-
08 15:15:51,234 - Spoon - java.lang.RuntimeException: Unable to load image with name [ui/images/spoon.ico]
at org.pentaho.di.ui.util.ImageUtil.getImageAsResource(ImageUtil.java:77)
at org.pentaho.di.ui.core.dialog.Splash.<init>(Splash.java:48)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:380)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)


将源文件的ui目录复制到桌面,再运行,窗口已经可以显示,但还是有错误信息:

ERROR 27-
08 15:21:05,062 - Kettle - Unable to create job entry from plugin [org.pentaho.di.job.JobPlugin: SSH2_GET(NATIVE)]
ERROR 27-08 15:21:05,062 - Kettle - org.pentaho.di.core.exception.KettleStepLoaderException:
Unexpected error loading class
com/trilead/ssh2/ServerHostKeyVerifier
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:258)
at org.pentaho.di.ui.core.gui.GUIResource.loadJobEntryImages(GUIResource.java:678)
at org.pentaho.di.ui.core.gui.GUIResource.getResources(GUIResource.java:322)
at org.pentaho.di.ui.core.gui.GUIResource.<init>(GUIResource.java:256)
at org.pentaho.di.ui.core.gui.GUIResource.getInstance(GUIResource.java:273)
at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:100)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/trilead/ssh2/ServerHostKeyVerifier
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:211)
... 17 more
ERROR 27-
08 15:21:05,062 - Kettle - Unable to create job entry from plugin [org.pentaho.di.job.JobPlugin: SSH2_PUT(NATIVE)]
ERROR 27-08 15:21:05,078 - Kettle - org.pentaho.di.core.exception.KettleStepLoaderException:
Unexpected error loading class
com/trilead/ssh2/ServerHostKeyVerifier
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:258)
at org.pentaho.di.ui.core.gui.GUIResource.loadJobEntryImages(GUIResource.java:678)
at org.pentaho.di.ui.core.gui.GUIResource.getResources(GUIResource.java:322)
at org.pentaho.di.ui.core.gui.GUIResource.<init>(GUIResource.java:256)
at org.pentaho.di.ui.core.gui.GUIResource.getInstance(GUIResource.java:273)
at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:100)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/trilead/ssh2/ServerHostKeyVerifier
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:211)
... 17 more
ERROR 27-
08 15:21:05,078 - Kettle - Unable to create job entry from plugin [org.pentaho.di.job.JobPlugin: FTP_DELETE(NATIVE)]
ERROR 27-08 15:21:05,078 - Kettle - org.pentaho.di.core.exception.KettleStepLoaderException:
Unexpected error loading class
com/trilead/ssh2/ProxyData
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:258)
at org.pentaho.di.ui.core.gui.GUIResource.loadJobEntryImages(GUIResource.java:678)
at org.pentaho.di.ui.core.gui.GUIResource.getResources(GUIResource.java:322)
at org.pentaho.di.ui.core.gui.GUIResource.<init>(GUIResource.java:256)
at org.pentaho.di.ui.core.gui.GUIResource.getInstance(GUIResource.java:273)
at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:100)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/trilead/ssh2/ProxyData
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:211)
... 17 more
ERROR 27-
08 15:21:05,218 - Kettle - Unable to create job entry from plugin [org.pentaho.di.job.JobPlugin: SNMP_TRAP(NATIVE)]
ERROR 27-08 15:21:05,218 - Kettle - org.pentaho.di.core.exception.KettleStepLoaderException:
Unexpected error loading class
org/snmp4j/TransportMapping
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:258)
at org.pentaho.di.ui.core.gui.GUIResource.loadJobEntryImages(GUIResource.java:678)
at org.pentaho.di.ui.core.gui.GUIResource.getResources(GUIResource.java:322)
at org.pentaho.di.ui.core.gui.GUIResource.<init>(GUIResource.java:256)
at org.pentaho.di.ui.core.gui.GUIResource.getInstance(GUIResource.java:273)
at org.pentaho.di.ui.core.PropsUI.init(PropsUI.java:100)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:387)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/snmp4j/TransportMapping
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.pentaho.di.job.JobEntryLoader.getJobEntryClass(JobEntryLoader.java:211)
... 17 more


INFO 27-08 15:21:05,640 - Spoon - 主窗口被创建

INFO 27-08 15:21:05,656 - Spoon - 要求资源库

INFO 27-
08 15:21:05,718 - RepositoriesMeta - Reading repositories XML file: C:/Documents and Settings/administrator/.kettle/repositories.xml
[Fatal Error] repositories.xml:6:69: Invalid byte 2 of 2-byte UTF-8 sequence.
ERROR 27-
08 15:21:05,765 - RepositoriesMeta - Error reading information from file : org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence.
ERROR 27-
08 15:21:05,765 - RepositoriesMeta - org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at org.pentaho.di.repository.RepositoriesMeta.readData(RepositoriesMeta.java:167)
at org.pentaho.di.ui.repository.dialog.RepositoriesDialog.<init>(RepositoriesDialog.java:132)
at org.pentaho.di.ui.spoon.Spoon.selectRep(Spoon.java:5416)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:5548)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:412)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论