Ich habe eine Java-Webanwendung entwickelt, die mit SAP integriert ist. Ich habe es mit Linux Server und Tomcat 7.0 entwickelt. Ich habe sapjco3.jar und libsapjco3.so im Ordner WEB-INF/lib hinzugefügt. Es funktioniert gut lokalen Server. Bei der Bereitstellung der WAR-Datei auf dem Remote-Server wird jedoch der folgende Fehler generiert.SAP + Java: java.lang.NoClassDefFoundError: com.sap.conn.rfc.driver.CpicDriver
java.lang.NoClassDefFoundError: com.sap.conn.rfc.driver.CpicDriver
at com.sap.conn.rfc.engine.DefaultRfcRuntime.createChannel(DefaultRfcRuntime.java:52)
at com.sap.conn.rfc.engine.RfcIoOpenCntl.open_channel(RfcIoOpenCntl.java:1260)
at com.sap.conn.rfc.engine.RfcIoControl.ab_rfcopen(RfcIoControl.java:85)
at com.sap.conn.rfc.api.RfcApi.RfcOpen(RfcApi.java:83)
at com.sap.conn.jco.rt.MiddlewareJavaRfc$JavaRfcClient.connect(MiddlewareJavaRfc.java:1107)
at com.sap.conn.jco.rt.ClientConnection.connect(ClientConnection.java:659)
at com.sap.conn.jco.rt.PoolingFactory.init(PoolingFactory.java:103)
at com.sap.conn.jco.rt.ConnectionManager.createFactory(ConnectionManager.java:171)
at com.sap.conn.jco.rt.DefaultConnectionManager.createFactory(DefaultConnectionManager.java:44)
at com.sap.conn.jco.rt.ConnectionManager.getFactory(ConnectionManager.java:160)
at com.sap.conn.jco.rt.RfcDestination.initialize(RfcDestination.java:754)
at com.sap.conn.jco.rt.RfcDestination.ping(RfcDestination.java:964)
at com.my.ciry.sap.Connection.<init>(Connection.java:63)
Der Fehler tritt auf, wenn das Ziel vom Tomcat-Server abgerufen wird.
private JCoDestination dest;
public Connection(SapSystem system) {
dest = JCoDestinationManager.getDestination(SAP_SERVER);
dest.ping();
}
Was ist die Ursache des Problems?
Ist diese Klasse definitiv in dieser JAR-Datei? –
@JonSkeet, ja Klasse ist im Jar –
Irgendwelche anderen Fehler früher im Protokoll, die etwas falsches in der Kriegs- oder Jar-Akte anzeigen können? –