Tôi đã phát triển một ứng dụng web java tích hợp với SAP. Tôi đã phát triển nó với Linux Server và Tomcat 7.0. Tôi đã thêm sapjco3.jar và libsapjco3.so vào thư mục WEB-INF/lib. Nó đang làm việc tốt máy chủ địa phương. Nhưng khi triển khai tệp WAR trong máy chủ từ xa, lỗi sau được tạo.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)
Lỗi xảy ra khi ping điểm đến từ máy chủ Tomcat.
private JCoDestination dest;
public Connection(SapSystem system) {
dest = JCoDestinationManager.getDestination(SAP_SERVER);
dest.ping();
}
Nguyên nhân của vấn đề là gì.
Lớp học đó có chắc chắn trong tệp jar đó không? –
@JonSkeet, có lớp nằm trong bình –
Bất kỳ lỗi nào khác trước đó trong nhật ký có thể cho biết có điều gì đó sai trong chiến tranh hoặc tệp jar? –