- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我正在创建一个使用 JNI 的 Java 应用程序。 JNI 函数之一接受枚举作为参数。但是JNI使用参数java后显示java.lang.NoSuchFieldError。
Java代码如下:
private int convert(JacsbclibLoader.BCTemplateEnvelopeType inputTemplateEnvelopeType, JacsbclibLoader.BCTemplateDataType inputTemplateDataType, JacsbclibLoader.BCTemplateEnvelopeType outputTemplateEnvelopeType, JacsbclibLoader.BCTemplateDataType outputTemplateDataType, byte[] inputData, byte[] outputData, JacsbclibLoader.BCTemplateInfoType_1 suplementaryInfo)
{
if(outputData != null)
outputLength = outputData.length;
status = _bclib.jBCConvertTemplate(inputTemplateEnvelopeType, inputTemplateDataType,inputData, inputData.length, outputTemplateEnvelopeType, outputTemplateDataType, outputData, outputLength, suplementaryInfo);
return status;
}
这是 java 中的 native 代码:
public enum BCTemplateDataType
{
BCT_NOT_SPECIFIED(-1),
BCT_NONE(0),
BCT_UPEK_LEGACY(1),
BCT_UPEK_ALPHA(2),
BCT_UPEK_BETA(3),
BCT_UPEK_AUTO(4),
BCT_ANSI(5),
BCT_ISO_FMR(6),
BCT_ISO_FMC_NORMAL(7),
BCT_ISO_FMC_COMPACT(8),
BCT_ABAPI(9),
BCT_LAST(10);
private int value;
private BCTemplateDataType(int value)
{
this.value = value;
}
}
public int jBCConvertTemplate(BCTemplateEnvelopeType inputEnvelopeType,
BCTemplateDataType inputDataType,
byte[] inputData,
int inputDataLength,
BCTemplateEnvelopeType outputEnvelopeType,
BCTemplateDataType outputDataType,
byte[] outputData,
int outputDataLength,
BCTemplateInfoType_1 suplementaryInfo)
{
ret = BCConvertTemplate(inputEnvelopeType, inputDataType, inputData, inputDataLength, outputEnvelopeType, outputDataType, outputData, outputDataLength, suplementaryInfo);
return ret;
};
private native int BCConvertTemplate(BCTemplateEnvelopeType inputEnvelope,
BCTemplateDataType inputDataType,
byte[] input,
int inputLength,
BCTemplateEnvelopeType outputEnvelope,
BCTemplateDataType outputDataType,
byte[] output,
int outputLength,
BCTemplateInfoType_1 suplementaryInfo);
这是 C++ 中的 JNI 代码:
JNIEXPORT jint JNICALL Java_JacsbclibLoader_BCConvertTemplate
(JNIEnv *env, jobject obj, jobject inputEnvelope, jobject inputDataType, jbyteArray inputData, jint inputLength, jobject outputEnvelope, jobject outputDataType, jbyteArray outputData, jint outputLength, jobject suplementaryInfo)
{
LoadLib();
BCTemplateInfoType_1 supInfo;
BCTemplateEnvelopeType eInputTemplateEnvelopeType = BCTE_NONE;
BCTemplateEnvelopeType eOutputTemplateEnvelopeType = BCTE_NONE;
BCTemplateDataType eInputTemplateDataType = BCT_NONE;
BCTemplateDataType eOutputTemplateDataType = BCT_NONE;
jbyte *inputTemplate = env->GetByteArrayElements(inputData, 0);
jbyte *outputTemplate = NULL;
if(outputData != NULL)
{
MessageBox(NULL,"outputData != NULL","",0);
jbyte *outputTemplate = env->GetByteArrayElements(outputData, 0);
}
jclass cls = env->GetObjectClass(obj);
jfieldID fIdInputLength = env->GetStaticFieldID(cls, "inputLength", "I");
jfieldID fIdOutputLength = env->GetStaticFieldID(cls, "outputLength", "I");
if(pConvertTemplate)
{
/*int inputEnvelopeType;
int inputEnvelopeDataType;
int outputEnvelopeType;
int outputEnvelopeDataType;*/
/*jclass envelopeTypeClass = env->FindClass("JacsbclibLoader");
MessageBox(NULL,"3.1","",0);
jmethodID inputEnvelopeGetValueMethod = env->GetMethodID(envelopeTypeClass, "getValue", "I()");
MessageBox(NULL,"3.2","",0);
jint inputEnvelopeValue = env->CallIntMethod(inputEnvelope, inputEnvelopeGetValueMethod);
MessageBox(NULL,"3.3","",0);
eInputTemplateEnvelopeType = (BCTemplateEnvelopeType)inputEnvelopeValue;
MessageBox(NULL,"3.4","",0);*/
jclass inputEnvelopeClass = env->GetObjectClass(inputEnvelope);
jclass inputEnvelopeDataTypeClass = env->GetObjectClass(inputDataType);
jclass outputEnvelopeClass = env->GetObjectClass(outputEnvelope);
jclass outputEnvelopeDataTypeClass = env->GetObjectClass(outputDataType);
if(suplementaryInfo != NULL)
{
MessageBox(NULL,"4","",0);
int ver;
int captureCbeffpId;
int captureEquiptCompliance;
int captureEquiptId;
int imgWidth;
int imgHeight;
int imgHorizontalResolution;
int imgVerticalResolution;
int fingerPos;
jclass suplementaryClass = env->GetObjectClass(suplementaryInfo);
jfieldID fIdVersion = env->GetFieldID(suplementaryClass, "version", "I");
jfieldID fIdCaptureCbeffpid = env->GetFieldID(suplementaryClass, "captureCBEFFPid", "I");
jfieldID fIdCaptureEquipmentCompliance = env->GetFieldID(suplementaryClass, "captureEquipmentCompliance", "I");
jfieldID fIdCaptureEquipmentId = env->GetFieldID(suplementaryClass, "captureEquipmentId", "I");
jfieldID fIdImageWidth = env->GetFieldID(suplementaryClass, "imageWidth", "I");
jfieldID fIdImageHeigth = env->GetFieldID(suplementaryClass, "imageHeight", "I");
jfieldID fIdImageHorizontalResolution = env->GetFieldID(suplementaryClass, "imageHorizontalResolution", "I");
jfieldID fIdImageVerticalResolution = env->GetFieldID(suplementaryClass, "imageVerticalResolution", "I");
jfieldID fIdFingerPosition = env->GetFieldID(suplementaryClass, "fingerPosition", "I");
ver = env->GetIntField(suplementaryInfo, fIdVersion);
captureCbeffpId = env->GetIntField(suplementaryInfo, fIdCaptureCbeffpid);
captureEquiptCompliance = env->GetIntField(suplementaryInfo, fIdCaptureEquipmentCompliance);
captureEquiptId = env->GetIntField(suplementaryInfo, fIdCaptureEquipmentId);
imgWidth = env->GetIntField(suplementaryInfo, fIdImageWidth);
imgHeight = env->GetIntField(suplementaryInfo, fIdImageHeigth);
imgHorizontalResolution = env->GetIntField(suplementaryInfo, fIdImageHorizontalResolution);
imgVerticalResolution = env->GetIntField(suplementaryInfo, fIdImageVerticalResolution);
fingerPos = env->GetIntField(suplementaryInfo, fIdFingerPosition);
memset(&suplementaryInfo, 0x00, sizeof(suplementaryInfo));
supInfo.version = ver;
supInfo.captureCBEFFPid = captureCbeffpId;
supInfo.captureEquipmentCompliance = captureEquiptCompliance;
supInfo.captureEquipmentId = captureEquiptId;
supInfo.fingerPosition = fingerPos;
supInfo.imageHeight = imgHeight;
supInfo.imageHorizontalResolution = imgHorizontalResolution;
supInfo.imageVerticalResolution = imgVerticalResolution;
supInfo.imageWidth = imgWidth;
}
returnStatus = pConvertTemplate(eInputTemplateEnvelopeType,
eInputTemplateDataType, (const void *)inputTemplate, (uint32)inputLength,
eOutputTemplateEnvelopeType,
eOutputTemplateDataType,
outputData != NULL ? (void *)outputTemplate : NULL,
(uint32 *)&outputLength,
suplementaryInfo != NULL ? (const void *)&supInfo : NULL);
env->SetStaticIntField(cls, fIdOutputLength, outputLength); // It also crashes in windows7
return returnStatus;
}
else
return returnStatus;
}
这是 JNI 引用的第三方库的枚举:typedef enum _tag_BCTemplateDataType {
BCT_NOT_SPECIFIED = -1,<br/>
BCT_NONE = 0,<br/>
BCT_UPEK_LEGACY,<br/>
BCT_UPEK_ALPHA,<br/>
BCT_UPEK_BETA,<br/>
BCT_UPEK_AUTO,<br/>
BCT_ANSI,<br/>
BCT_ISO_FMR,<br/>
BCT_ISO_FMC_NORMAL,<br/>
BCT_ISO_FMC_COMPACT,<br/>
BCT_ABAPI,<br/>
BCT_LAST<br/>
} BCTemplateDataType;
我正在尝试更新我正在从2.4.3版开发到2.5.2版的Android应用程序上的Room数据库,这些是我的gradle.build文件中的Room依赖项。该应用程序成功编译和构建,但不幸的是,在运行时
我刚刚升级了一个库,另一个库开始抛出 NoSuchFieldError。如果删除该字段,那会很好。但它留下来了。它只是被弃用了。 Hibernate.TIMESTAMP.nullSafeGet(nul
输出:javap -s SomeClass public org.someapp.SomeClass$_data data; Signature: Lorg/someapp/SomeClass$_
我正在尝试修改我在 ClassA 中创建的 public static final String[] 字段,然后在 ClassB 中使用反射对其进行修改。但是我得到了一个 NoSuchFieldExc
我目前正在摆弄 javassist 并遇到了这个问题。我正在尝试使用 javassist 更改字段类型。但是,当代码在我更改后尝试访问该字段时,结果是 NoSuchFieldException。 所以
我的代码中出现 NoSuchFieldError,现在 oracle 不太清楚为什么会抛出此错误,只是说:如果类的定义发生不兼容的更改,此错误只会在运行时发生。 有人可以向我解释如何“不兼容地改变”一
我有一个 Spring Boot 2 项目。 该模型是 @Entity @SequenceGenerator(name = "climate_gen", sequenceName = "climate
我最近遇到了 Eclipse SWT GUI 应用程序的问题。我试图使用以下代码获取窗口句柄: Display.getDefault().syncExec(()->{ hand
我在初始化 web 应用程序时收到以下错误。有人见过这个吗? 这发生在 spring 尝试加载 SimpleUrlHandlerMapping 的地方 Caused by: java.lang.NoS
启动 NeoServer 时出现以下异常 - Exception in thread "main" java.lang.NoSuchFieldError: cypher_parser_version
网上有一个关于如何在 Hibernate 中使用注释的示例(在此之前我也研究过相同的示例,但它使用了 .xml。并且我已经成功地使其正常工作)。所以现在我有: Initial session fact
这个问题在这里已经有了答案: JNI: NoSuchFieldError (1 个回答) 关闭 9 年前。 我正在创建一个使用 JNI 的 Java 应用程序。 JNI 函数之一接受枚举作为参数。但
与 GEM API 集成时,我在 runtime java.lang.NoSuchFieldError: gostR28147_cbc 处收到错误。请让我知道我缺少什么。我已经包含了以下 jar :
请任何人告诉我如何解决此错误, 我正在使用 spring-webmvc.3.2.17 和 freemarker.2.3.16 Caused by: org.springframework.beans.
我目前正在使用 vscode 和 apache poi,创建了一个程序来自动创建 .xlsx 程序,并让 A1 单元格输入一个名为“Tester”的字符串,然后弹出该错误。 我的程序中的代码: pac
我在使用 Firebase 产品时遇到 java.lang.NoSuchFieldError 错误。 应用程序随机崩溃,每次启动一次,我没有看到任何明显的原因。 Crashlytics 将其识别为两个
我已重新启动服务器,但无法让它运行。我在启动时总是出现此错误。请问有人可以告诉我如何让服务器运行吗? 我已经搜索过,但在其他地方找不到此错误。 HTTP ERROR: 500 STANDARD_IMP
在某些情况下,当从匿名类访问 Activity 字段时,我在运行时收到 NoSuchFieldError:java.lang.NoSuchFieldError: MyActivity.myField
我开发了一个 Spring Boot 应用程序,我试图包含一个 Optional ( java.lang ) 字段在我的一个模型中,所以如果 @RestController我正在使用 with 不会得
我今天遇到了一个异常,并设法消除了错误。首先,让我给你一个示例代码。 public class Foo () { protected String var; } public class Ba
我是一名优秀的程序员,十分优秀!