gpt4 book ai didi

java - 如何为 SAP Business Objects Java SDK 设置 Eclipse 项目

转载 作者:行者123 更新时间:2023-12-02 09:35:00 25 4
gpt4 key购买 nike

我们内部安装了 SAP BO 4.2,但我被告知 REST 未打开。我已经使用 SDK 编写了几个成功的 .NET 应用程序来连接到我们的生产 SAP 盒子并在其上运行,现在我正在尝试编写一个 Java 应用程序来执行相同的操作,因为 Java SDK 公开了更多(和必需的)功能.

我似乎无法正确设置 Eclipse/Java/项目环境以开始编码。

  • Windows 10,64 位
  • Eclipse 版本:2019-03 (4.11.0)
  • Java 版本:
    • openjdk版本“12.0.2”2019-07-16
    • OpenJDK 运行时环境(版本 12.0.2+10)
    • OpenJDK 64 位服务器虚拟机(版本 12.0.2+10,混合模式,共享)

我创建了一个新的“Java EE”->“应用程序客户端项目”。

我无法将以下代码获取到“作为应用程序运行”:

import com.crystaldecisions.sdk.framework.CrystalEnterprise;
import com.crystaldecisions.sdk.exception.SDKException;
import com.crystaldecisions.sdk.framework.IEnterpriseSession;

public class Main {

public static void main(String[] args) {

IEnterpriseSession oEnterpriseSession = null;

String username = "username";
String password = "password";
String cmsname = "server";
String authenticationType = "secEnterprise";

try {
oEnterpriseSession = CrystalEnterprise.getSessionMgr().logon(username, password, cmsname, authenticationType);

if (oEnterpriseSession == null) {
System.out.print("login failed");
}
} catch (SDKException sdkEx) {
System.out.print(sdkEx);
}

//do processing here

}

public Main() {
super();

}

}

我在构建路径中引用了以下库:

C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/cecore.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/cesession.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/celib.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/logging.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/aspectjrt.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/ceaspect.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/TraceLog.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/corbaidl.jar
C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/java/lib/ebus405.jar

我在网上搜索的所有内容都分为三类:

  1. 指向 SAP 网站上不再有效的页面的链接(因此重定向到常规搜索页面),或者
  2. 过时的信息/代码,导致我无法执行相同操作,或者
  3. 一旦我设置了本地环境并正常工作,代码就应该可以工作

此外,我找到的所有示例都是针对 Java Server Pages,这不是我想要的此项目。

当我尝试运行上述代码时,即使在尝试连接之前,我收到的错误消息是:

Exception in thread "main" java.lang.NoClassDefFoundError: org/omg/CORBA/portable/IDLEntity
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at com.crystaldecisions.thirdparty.com.ooc.OBCORBA.ORB_impl.initializeDefaultPolicies(ORB_impl.java:369)
at com.crystaldecisions.thirdparty.com.ooc.OBCORBA.ORB_impl.initialize(ORB_impl.java:196)
at com.crystaldecisions.thirdparty.com.ooc.OBCORBA.ORB_impl.setParameters(ORB_impl.java:812)
at com.crystaldecisions.thirdparty.com.ooc.OBCORBA.ORB_impl.init(ORB_impl.java:1313)
at com.crystaldecisions.enterprise.ocaframework.idl.helper.ORBHelper.init(ORBHelper.java:57)
at com.crystaldecisions.enterprise.ocaframework.ServiceMgr.<init>(ServiceMgr.java:402)
at com.crystaldecisions.enterprise.ocaframework.ServiceMgrFactory.getServiceMgr(ServiceMgrFactory.java:66)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.ensureServiceStub(LogonService.java:701)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:885)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:860)
at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:240)
at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:823)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:523)
at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
at Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: org.omg.CORBA.portable.IDLEntity
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 34 more

据我了解,从 Java 9 开始,java.CORBA 已被弃用(并在 Java 11 中删除)。我尝试将编译器合规性和方面更改为 1.8,但没有任何更改。此外,jar 文件“ebus405.jar”包含 CORBA 类。

虽然我希望能得到有关解决此错误消息的帮助,但如果有人能告诉我更直接的方法来开始此操作,我会更感激。我会接受以下任何一项:

  1. 使用不同的 IDE(我不依赖 Eclipse)
  2. 引用不同/额外的 SDK Jars
  3. 从不同的角度解决这个问题(例如,不同的 Java 项目类型)

最佳答案

我认为您没有使用正确的 JRE 系统库。如有疑问,使用 BusinessObjects 客户端安装附带的客户端始终是安全的。

我使用的是 SAP BusinessObjects 4.1 SP6,因此对我来说它位于此处 -“C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\jre”。根据您的版本检查相应位置并将其设置为 Eclipse 中项目的默认位置,然后重试。

关于java - 如何为 SAP Business Objects Java SDK 设置 Eclipse 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57595975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com