java.lang.ClassNotFoundException:com.ibm.broker.config.proxy.BarFile

时间:2013-09-11 16:57:16

标签: java ibm-integration-bus

为IBM Java集成添加了2个jar文件。获得此例外:

error at :: BarFile b = BarFile.loadBarFile("C:\\Users\\Uni\\Desktop\\outputt\\Dev_BAR.bar");

root cause:::::::::

java.lang.ClassNotFoundException: com.ibm.broker.config.proxy.BarFile
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
com.cts.XmlExtract.extract(XmlExtract.java:25)
com.cts.BrokerServlet.doGet(BrokerServlet.java:30)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

1 个答案:

答案 0 :(得分:2)

使用IDE(可能是IBM的RAD或Eclipse)开发java项目时,请务必记住您关注的路径有两个:

  1. 编写代码时的类路径。这是Compile Classpath。
  2. 在服务器上运行代码时的类路径。这是运行时类路径。
  3. 您收到的错误正在发生,因为运行时类路径不包含您尝试添加到项目中的一个(或两个)jar。

    您可以使用以下技术之一将jar添加到Runtime Classpath:

    1. 将jar添加到Web应用程序项目的WEB-INF / libs目录中。此技术保证jar将与WAR文件一起分发,但也保证jar不会被其他可能想要使用jar的项目共享。

    2. 如果要构建EAR,请将jar添加到EAR文件中。我建一个耳朵已经有一段时间了,所以我不记得确切的目录名称(我想你只是把它放到了EAR的根部)。这允许EAR中的WAR文件共享jar。

    3. 将jar添加到tomcat中的共享位置。 $ CATALINA_HOME / lib似乎是一个好地方。这允许tomcat实例中的所有Web应用程序共享jar。

    4. 其他。其他服务器提供了共享jar的其他方法。