我编写了一个小程序来使用语义层记录unx Universe的所有属性。在我的构建路径中,我有cesdk.jar,sl_sdk.jar和所有来自“C:\ Program Files(x86)\ SAP BusinessObjects \ SAP BusinessObjects Enterprise XI 4.0 \ dataAccess \ connectionServer \ java”的jar。该程序在eclipse(mars)中运行正常,但是,当我将其导出为Runnable Jar文件(将所需的库复制到jar文件旁边的子文件夹中)并使用以下.bat文件运行它时,我收到此错误加载businesslayer时:
com.sap.tools.commons.exception.NestedException: Interface requested not found : csLIB
at com.sap.tools.commons.exception.NestedException.create(Unknown Source)
at com.businessobjects.mds.services.parser.decoder.DataFoundationSQLDecoder.getPRM(DataFoundationSQLDecoder.java:82)
at com.businessobjects.mds.services.parser.decoder.DataFoundationSQLDecoder.<init>(DataFoundationSQLDecoder.java:97)
at com.businessobjects.mds.services.parser.decoder.UniverseSQLDecoder.<init>(UniverseSQLDecoder.java:40)
at com.businessobjects.mds.services.parser.EncodeDecodeHelper.decodeExpression(EncodeDecodeHelper.java:303)
at com.businessobjects.mds.services.helpers.BindingHelper.decodeExpression(BindingHelper.java:250)
at com.businessobjects.mds.services.helpers.BindingHelper.decodeResultExpression(BindingHelper.java:264)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.getResultExpression(MdsToSdkBusinessLayerConverter.java:371)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyBusinessItemProperties(MdsToSdkBusinessLayerConverter.java:326)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.createSdkItem(MdsToSdkBusinessLayerConverter.java:275)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyMdsToSdk(MdsToSdkBusinessLayerConverter.java:227)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.copyMdsToSdk(MdsToSdkBusinessLayerConverter.java:234)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.MdsToSdkBusinessLayerConverter.createSdkModel(MdsToSdkBusinessLayerConverter.java:153)
at com.sap.sl.sdk.authoring.businesslayer.internal.services.BusinessLayerModelToModel.createSdkModel(BusinessLayerModelToModel.java:31)
at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.createSdkBusinessLayer(LocalResourceServiceImpl.java:191)
at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.loadInternal(LocalResourceServiceImpl.java:170)
at com.sap.sl.sdk.authoring.local.internal.services.LocalResourceServiceImpl.load(LocalResourceServiceImpl.java:131)
at at.arz.universechangemanagement.manager.UniversumsManager.createUniverseBlx(UniversumsManager.java:94)
at at.arz.universechangemanagement.UniverseChangeManagement.addLocalUniverse(UniverseChangeManagement.java:41)
at at.arz.universechangemanagement.UniverseChangeManagement.addLocalUniverse(UniverseChangeManagement.java:36)
at at.arz.universechangemanagement.gui.Gui$AddLocalUniverse.handle(Gui.java:176)
at at.arz.universechangemanagement.gui.Gui$AddLocalUniverse.handle(Gui.java:1)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.event.Event.fireEvent(Unknown Source)
at javafx.scene.Scene$ClickGenerator.postProcess(Unknown Source)
at javafx.scene.Scene$ClickGenerator.access$8100(Unknown Source)
at javafx.scene.Scene$MouseHandler.process(Unknown Source)
at javafx.scene.Scene$MouseHandler.access$1500(Unknown Source)
at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$355(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.notifyMouse(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sap.connectivity.cs.core.CSError: Interface requested not found : csLIB
at com.sap.connectivity.cs.extended.ImplementationManager.getImplementation(ImplementationManager.java:151)
at com.sap.connectivity.cs.extended.ImplementationManager.getConfiguration(ImplementationManager.java:195)
at com.sap.connectivity.cs.extended.NLDBProvider.populateMap(NLDBProvider.java:49)
at com.sap.connectivity.cs.extended.NLDBProvider.getManager(NLDBProvider.java:157)
at com.sap.connectivity.cs.extended.Provider.getEnvironment(Provider.java:93)
at com.sap.connectivity.cs.extended.ConnectionServer.JobProfile(ConnectionServer.java:532)
at com.sap.connectivity.cs.api.trace.EnvironmentLogger.JobProfile(EnvironmentLogger.java:609)
at com.businessobjects.mds.services.relational.PrmProperties.getDbParameterSet(PrmProperties.java:1426)
at com.businessobjects.mds.services.relational.PrmProperties.loadFunctions(PrmProperties.java:1469)
at com.businessobjects.mds.services.relational.PrmProperties.loadParameters(PrmProperties.java:1443)
at com.businessobjects.mds.services.relational.PrmProperties.<init>(PrmProperties.java:160)
at com.businessobjects.mds.services.relational.CsService.getPRMProperties(CsService.java:1385)
at com.businessobjects.mds.services.parser.decoder.DataFoundationSQLDecoder.getPRM(DataFoundationSQLDecoder.java:80)
... 50 more
Caused by: java.lang.UnsatisfiedLinkError: no cs_jni in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.sap.connectivity.cs.library.ConnectionServer.<clinit>(ConnectionServer.java:330)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.businessobjects.connectionserver.ConnectionServer.getImplementation(ConnectionServer.java:461)
at com.businessobjects.connectionserver.ConnectionServer.getInstance(ConnectionServer.java:132)
at com.sap.connectivity.cs.extended.ImplementationManager.getImplementation(ImplementationManager.java:144)
... 62 more
我的.bat文件:
@echo OFF
SET classpath="C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/SL SDK/java/sl_sdk.jar" & SET path="C:/Program Files (x86)/SAP BusinessObjects/SAP BusinessObjects Enterprise XI 4.0/win32_x86;%path%" & "C:\Users\rpci322\Programme\jre1.8.0_60\bin\java.exe" -Dbusinessobjects.connectivity.directory="C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\dataAccess\connectionServer" -jar UniverseChangeManagement.jar
PAUSE
我安装了BO 4.1 SP 6,并且我正在使用Java 8 Update 60运行jar文件(由于某些奇特的javafx操作)32位版本。