【问题标题】:Talend Server External Jar FilesTalend Server 外部 Jar 文件
【发布时间】:2015-09-14 10:16:19
【问题描述】:

当我尝试将作业部署到我的 talend 企业服务器时遇到问题。当我在 talend 管理中心运行作业时,出现以下错误:

java.lang.NoClassDefFoundError: javax/xml/rpc/encoding/SerializerFactory
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
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:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

在这项工作中,我使用了一些外部 jar 文件(axis.jar 和 jaxrpc.jar),我在工作中添加了一个 tLibraryLoad,但没有任何导入命令。我使用了 Talend Server 上的定位来确保所需文件位于服务器上。我在不同的目录中找到了它们,现在我不确定它们是否必须重新定位。目录如下:

  • {Talend-Installation}/cmdline/studio/commandline-workspace/.Java/lib/jaxrpc.jar
  • {Talend-Installation}/cmdline/studio/configuration/lib/java/jaxrpc.jar
  • {Talend-Installation}/cmdline/studio/plugins/javax.xml.rpc_[版本]/lib/jaxrpc.jar
  • {Talend-Installation}/studio/plugins/javax.xml.rpc_[版本]

在我的客户端上,作业运行没有任何错误。有人可以帮我吗?

如果需要,请随时向我索取更多内容。

干杯。

【问题讨论】:

  • 你检查过这个链接 - talendforge.org/forum/viewtopic.php?id=31780 吗?
  • 感谢您的建议,但在我的情况下它们对我帮助不大。外部库已在客户端环境中正确添加,但我不确定我必须在 talend 服务器上的何处添加它们。
  • 您是否尝试过重新生成任务并进行部署?您是否尝试在工作室中运行该工作并查看它是否有效?另外,检查安装路径中是否有空格。它也可能导致问题。
  • 我已在 TAC 中多次重新生成作业。这项工作在我的客户的工作室中运行良好。安装路径没有空格。

标签: java jar talend


【解决方案1】:

外部库必须在执行作业的同一台机器上,因此为了使其运行,

  • 在组件 tLibraryLoad 中使用上下文变量:context.my_jar_path+"/jaxrpc.jar"
  • 将jars文件放到执行服务器中
  • 根据您加载上下文的方式,使上下文变量具有 jar 路径的值:context.my_jar_path = /Data/Talend/ExtJars/

【讨论】:

  • 非常感谢,这个回答帮了大忙。你知道我是否必须定义导入参数,或者如果没有指定,他会加载所有内容吗?
  • 还有一点提示应该是 "/[Path]/[File]" 否则它在 linux 上不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 2011-09-18
  • 2014-09-03
  • 1970-01-01
  • 2014-12-20
  • 2012-10-28
相关资源
最近更新 更多