Class 将库复制到库文件夹后未找到 (NetBeans)
Class not found after copying libraries to libraries folder (NetBeans)
Java 的新手。作为一名 DBA,这不是我通常生活的世界,但我 IBM 的 CDC 产品为任何真正的自动化提供了一组库。
如果我从它们的绝对路径引用 .jar 文件,那么到目前为止我可以导入和 运行 我的应用程序。即 IBM CDC 应用程序的安装位置。但是,如果我将 .jar 文件复制到 NetBeans 中的库文件夹中,则会出现以下错误:
导入命令不会出错,在我 运行 之前一切似乎都很好。任何建议将不胜感激。
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/osgi/util/NLS
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.ibm.replication.cdc.scripting.EmbeddedScript.executeWithStatus(EmbeddedScript.java:231)
at com.ibm.replication.cdc.scripting.EmbeddedScript.execute(EmbeddedScript.java:159)
at cdcinterface.CDCInterface.main(CDCInterface.java:18)
Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.util.NLS
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 15 more
C:\Users\roberdan\AppData\Local\NetBeans\Cache.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
这是 run.xml 的第 53 行:
<java classpath="${classpath-translated}" classname="${classname}" dir="${work.dir}" jvm="${platform.java}" fork="true" failonerror="${java.failonerror}">
<jvmarg value="-Dfile.encoding=${encoding}"/>
<redirector inputencoding="${encoding}" outputencoding="${encoding}" errorencoding="${encoding}"/>
<jvmarg line="${run.jvmargs}" />
<arg line="${application.args}" />
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
<mapper from="run-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
</java>
原来问题出在 IBM 类 本身。您可以从服务器安装或客户端安装中获取 类。我从客户端安装中复制了它们,但应该来自服务器。一旦我这样做了,一切都很好。
Java 的新手。作为一名 DBA,这不是我通常生活的世界,但我 IBM 的 CDC 产品为任何真正的自动化提供了一组库。
如果我从它们的绝对路径引用 .jar 文件,那么到目前为止我可以导入和 运行 我的应用程序。即 IBM CDC 应用程序的安装位置。但是,如果我将 .jar 文件复制到 NetBeans 中的库文件夹中,则会出现以下错误:
导入命令不会出错,在我 运行 之前一切似乎都很好。任何建议将不胜感激。
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/osgi/util/NLS
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
at java.net.URLClassLoader.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.ibm.replication.cdc.scripting.EmbeddedScript.executeWithStatus(EmbeddedScript.java:231)
at com.ibm.replication.cdc.scripting.EmbeddedScript.execute(EmbeddedScript.java:159)
at cdcinterface.CDCInterface.main(CDCInterface.java:18)
Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.util.NLS
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 15 more
C:\Users\roberdan\AppData\Local\NetBeans\Cache.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
这是 run.xml 的第 53 行:
<java classpath="${classpath-translated}" classname="${classname}" dir="${work.dir}" jvm="${platform.java}" fork="true" failonerror="${java.failonerror}">
<jvmarg value="-Dfile.encoding=${encoding}"/>
<redirector inputencoding="${encoding}" outputencoding="${encoding}" errorencoding="${encoding}"/>
<jvmarg line="${run.jvmargs}" />
<arg line="${application.args}" />
<syspropertyset>
<propertyref prefix="run-sys-prop."/>
<mapper from="run-sys-prop.*" to="*" type="glob"/>
</syspropertyset>
</java>
原来问题出在 IBM 类 本身。您可以从服务器安装或客户端安装中获取 类。我从客户端安装中复制了它们,但应该来自服务器。一旦我这样做了,一切都很好。