JDeveloper使用库部署桌面应用程序JAR

时间:2014-11-03 16:53:40

标签: jar jdeveloper

使用JDeveloper 12.1.3.0.0,我创建了一个使用Oracle JDBC和BC4J Oracle Domains库的Java桌面应用程序(通过Project Properties - > Libraries和Classpath添加它们)。一切都在JDeveloper中编译并运行良好,但我正在努力部署一个可用的JAR文件。此JAR文件需要包含库,因为它将直接放在客户端计算机上。

当前尝试失败:我在项目属性中创建了部署配置文件。此配置文件将我的MainForm.java设置为主文件,我包含一个文件组(类型:库),并将两个必要的库检查为贡献者。

使用此配置文件部署JAR后,收到一条错误消息“已发生Jave异常”。使用“java -jar archive.jar”通过命令提示符运行jar我得到以下跟踪:

  

选择了JAVA_TOOL_OPTIONS:-Djava.vendor =“Sun Microsystems,Inc。”   线程“main”中的异常java.lang.NoClassDefFoundError:oracle / jbo / JboException          at java.lang.Class.getDeclaredMethods0(Native Method)          at java.lang.Class.privateGetDeclaredMethods(Unknown Source)          在java.lang.Class.getMethod0(未知来源)          在java.lang.Class.getMethod(未知来源)          at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)          在sun.launcher.LauncherHelper.checkAndLoadMain(未知来源)   引起:java.lang.ClassNotFoundException:oracle.jbo.JboException          在java.net.URLClassLoader $ 1.run(未知来源)          在java.net.URLClassLoader $ 1.run(未知来源)          at java.security.AccessController.doPrivileged(Native Method)          at java.net.URLClassLoader.findClass(Unknown Source)          at java.lang.ClassLoader.loadClass(Unknown Source)          at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)          at java.lang.ClassLoader.loadClass(Unknown Source)          ......还有6个

我做错了什么?任何建议都受到欢迎。

1 个答案:

答案 0 :(得分:0)

在与Oracle代表进行一些沟通之后,JDeveloper本身显然无法做到这一点。限制是Java无法进入另一个JAR中打包的JAR文件。有人建议我使用One-Jar,它将从库中提取和打包必要的类,或者创建一个脚本,将类路径设置为外部库。