我在尝试使用部署在 Jboss 服务器 java.lang.UnsatisfiedLinkError:com.f2i.energisticsStandardsApi.fesapiJNI.new_common_EpcDocument(Ljava/lang/String;)J at com.f2i 中的 Teiid Translator 读取 EpcDocument 中的 epc 文件时遇到此异常。 com.f2i.energisticsStandardsApi.common.EpcDocument.(EpcDocument.java:42) 上的 energisticsStandardsApi.fesapiJNI.new_common_EpcDocument(本机方法)
Static {
try {
//Also tried this way
// System.load("D:\\fesapiEnv\\build\\fesapi\\install\\lib\\FesapiCpp.1.2.0.0.dll");
System.loadLibrary("FesapiCpp.1.2.0.0");
} catch (UnsatisfiedLinkError e) {
System.out.println("UnsatisfiedLinkError : " + e.toString());
}
}
public static void serializeEPC(String filePathwithName) {
// This class allows an access to a memory package representing an EPC document.
EpcDocument pck = new EpcDocument(filePathwithName);
// This abstract class acts as a buffer between the RESQML (business) classes
// and the persisted data.
DataObjectRepository repo = new DataObjectRepository();
}
我还在 Jboss 的 bat 文件中添加了 DLL 文件(FesapiCpp.1.2.0.0.dll)加载的环境路径变量,如下设置 PATH=%jBOSS_HOME%\modules\system\layers\base\com\f2i\energisticsStandardsApi\main \lib;%PATH%
我正在使用的 fesApi jar 从下面的链接中编译
https://github.com/F2I-Consulting/fesapi
发生的奇怪事情是,当我运行独立程序时,它运行成功,但在 Jboss 环境中它给出了上述异常。