我在我的 Maven 项目中使用 OpenSaml。当我尝试使用 DefaultBootstrap 类的变体初始化 OpenSaml 时,我得到以下堆栈跟踪:
java.lang.NoSuchMethodError: org.slf4j.helpers.Util.report(Ljava/lang/String;)V
org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:47)
org.apache.log4j.LogManager.getLogger(LogManager.java:42)
org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:103)
org.opensaml.xml.XMLConfigurator.<init>(XMLConfigurator.java:56)
org.opensaml.xml.XMLConfigurator.<init>(XMLConfigurator.java:73)
Run Code Online (Sandbox Code Playgroud)
我尝试执行 mvn dependency:tree 来找出从何处加载 SLF4J jar 的不匹配版本。我还尝试在 mvn.bat 中将 -verbose 选项传递给 Java。这些选择都没有帮助。我尝试一一删除 pom.xml 中的依赖项。再次,没有运气。如果有人可以阐明如何找到罪魁祸首罐子或如何解决此错误,我将不胜感激。
我试图从运行iaik PKCS#11包装简单的示例代码(1.3版,最新的ATM),但得到NoSuchMethodError的pkcs11Module.initialize电话。
Module pkcs11Module = Module.getInstance("siecap11");
pkcs11Module.initialize(null);
Slot[] slots = pkcs11Module.getSlotList(Module.SlotRequirement.TOKEN_PRESENT);
for (Slot s: slots) {
System.out.println(s.getSlotID());
}
pkcs11Module.finalize(null);
Run Code Online (Sandbox Code Playgroud)
异常堆栈跟踪如下
java.lang.NoSuchMethodError: iaik.pkcs.pkcs11.wrapper.PKCS11.C_Initialize(Ljava/lang/Object;Z)V
at iaik.pkcs.pkcs11.Module.initialize(Module.java:308)
at test.pkcs11.Pkcs11Service.listSlotsWithTokens(Pkcs11Service.java:98)
at test.pkcs11.TestPkcs11Service.testListSlots(TestPkcs11Service.java:35)
Run Code Online (Sandbox Code Playgroud)
类似的代码在 Linux 上运行良好,所以我猜 pkcs11wrapper.dll 有问题。
pkcs11wrapper.dll并且siecap11.dll都在c\windows\system32目录中并且都是 32 位模块。
我尝试了不同的 pkcs#11 提供程序、调试和发布版本的 pkcs11wrapper,但结果是一样的。
pkcs11wrapper.dll 的调试版本生成以下输出:
11/26/13 21:30:50 CALL: entering (in Java_iaik_pkcs_pkcs11_wrapper_PKCS11Implementation_initializeLibrary)
11/26/13 21:30:50 CALL: exiting (in Java_iaik_pkcs_pkcs11_wrapper_PKCS11Implementation_initializeLibrary)
11/26/13 21:30:50 CALL: entering (in Java_iaik_pkcs_pkcs11_wrapper_PKCS11Implementation_connect)
11/26/13 21:30:50 INFO: connect to PKCS#11 module: siecap11 ... (in Java_iaik_pkcs_pkcs11_wrapper_PKCS11Implementation_connect) …Run Code Online (Sandbox Code Playgroud) 我有一个正在测试JNI库的Android应用程序.该应用程序有一个带有onClick处理程序的按钮:
<RelativeLayout
...
<Button
...
android:id="@+id/btnGenerate"
android:text="@string/btn_generate"
android:textAppearance="?android:attr/textAppearanceLarge"
android:onClick="btnGenerate_onClick"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
然后,在主要活动中:
public class MainActivity extends Activity {
...
protected void btnGenerate_onClick(View view)
{
// Do some work...
String str = <some result>;
final TextView lblNumbers = (TextView)findViewById(R.id.lblNumbers);
if(lblNumbers != null)
{
lblNumbers.setText(str);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,我会收到一个NoSuchMethodException.
我从Android Button setOnClickListener设计帮助解除了解决方案,所以我不确定它为什么不起作用.
为什么代码导致NoSuchMethod异常?
09-05 07:20:57.417: W/dalvikvm(10563): threadid=1: thread exiting with uncaught exception (group=0x40aae228)
09-05 07:20:57.437: E/AndroidRuntime(10563): FATAL EXCEPTION: main
09-05 07:20:57.437: E/AndroidRuntime(10563): java.lang.IllegalStateException: Could not …Run Code Online (Sandbox Code Playgroud) 我正在将一个简单的Web应用程序从Jboss 4.3移动到Jboss 6 EAP(Jboss AS 7.2).但是,由于错误,我无法部署战争
07:43:17,773 ERROR [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 63) Context initialization failed: java.lang.NoSuchMethodError: org.springframework.beans.factory.config.ConfigurableListableBeanFactory.registerResolvableDependency(Ljava/lang/Class;Ljava/lang/Object;)V
at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:458) [spring-2.5.5.jar:2.5.5]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:356) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) [spring-2.5.5.jar:2.5.5]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_60]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_60]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Run Code Online (Sandbox Code Playgroud)
我不确定需要做什么.war文件使用的Spring库是版本2.5.5,并且捆绑在WEB-INF/lib目录中的war 0中.
任何帮助解决我的问题,将不胜感激.谢谢.
我目前正在开发用于自动化测试的命令行客户端。为此,我希望能够仅通过给定名称执行请求,因此我必须使用反射。
但是,我收到以下错误:
NoSuchMethodException: java.util.ArrayList.add(some.path.Foo)
在此代码上:
Object job = Class.forName(sClassName).getConstructor().newInstance();
List<?> jobObject = (List<?>) Request.getClass().getDeclaredMethod(sMethodName).invoke(Request);
jobObject.getClass().getDeclaredMethod("add", job.getClass()).invoke(Request, job);
Run Code Online (Sandbox Code Playgroud)
另一方面,以下代码有效(但不是解决方案,因为 Foo 应该是动态的,而不是硬编码的)
Object job = Class.forName(sClassName).getConstructor().newInstance();
List<Foo> jobObject = (List<Foo>) Request.getClass().getDeclaredMethod(sMethodName)).invoke(Request);
jobObject.add((Foo)job);
Run Code Online (Sandbox Code Playgroud)
边注:
我想要实现的是让代码与动态输入一起工作(例如Bar而不是Foo)
我检查了调试版本中的所有内容,一切正常,但是当我生成 Signed Apk 时,出现此错误:
java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format]
java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface org.simpleframework.xml.Attribute, class org.simpleframework.xml.stream.Format]
at retrofit2.converter.simplexml.SimpleXmlRequestBodyConverter.convert(SimpleXmlRequestBodyConverter.java:43)
at retrofit2.converter.simplexml.SimpleXmlRequestBodyConverter.convert(SimpleXmlRequestBodyConverter.java:26)
at retrofit2.ParameterHandler$Body.apply(ParameterHandler.java:297)
at retrofit2.ServiceMethod.toRequest(ServiceMethod.java:109)
at retrofit2.OkHttpCall.createRawCall(OkHttpCall.java:178)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:162)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$RequestArbiter.request(RxJavaCallAdapterFactory.java:171)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber$1.request(OperatorSubscribeOn.java:109)
at rx.Subscriber.setProducer(Subscriber.java:211)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.setProducer(OperatorSubscribeOn.java:105)
at rx.Subscriber.setProducer(Subscriber.java:205)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:152)
at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:138)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)
at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)
at rx.Observable.unsafeSubscribe(Observable.java:10256)
at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)
at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NoSuchMethodException: <init> [interface org.simpleframework.xml.core.Contact, interface …Run Code Online (Sandbox Code Playgroud) 以下是我不断在我的应用程序上遇到的致命错误。我正在尝试使用Firebase在我的应用程序上运行聊天Messenger功能。它正在运行,但是此后一直使该应用程序完全崩溃。我已经对代码进行了一些编辑,以期解决问题,但无济于事。
我一直在https://www.youtube.com/watch?v=Xn0tQHpMDnM上关注本教程,通过阅读评论看来,没有其他人对我有类似的错误。
根据日志,在第99行displayChatMessage();以及第109 行中都发现了错误 -adapter = new FirebaseListAdapter<ChatMessage>(this,ChatMessage.class,R.layout.chat_list_item,FirebaseDatabase.getInstance().getReference()) {
我希望这可能只是我创建的一个简单的代码错误,或者可能与我的gradle构建有关。以下是我得到的错误日志。
FATAL EXCEPTION: main
Process: com.example.aids.a09application, PID: 30713
java.lang.NoSuchMethodError: No virtual method zzEq()Z in class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/com.example.aids.a09application-2/split_lib_dependencies_apk.apk:classes33.dex)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.example.aids.a09application.MainChatActivity.displayChatMessage(MainChatActivity.java:109)
at com.example.aids.a09application.MainChatActivity.onCreate(MainChatActivity.java:99)
at android.app.Activity.performCreate(Activity.java:6912)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2877)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2985)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1635)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6692)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Run Code Online (Sandbox Code Playgroud)
下面是我的应用程序中的聊天Messenger的MainActivity类:
package com.example.aids.a09application;
import android.content.Intent; …Run Code Online (Sandbox Code Playgroud) 当我运行代码中显示的 searchByKeywords 方法时,我收到一条关于缺少 org.hibernate.query.internal.ParameterMetadataImpl 构造函数的错误消息:
java.lang.NoSuchMethodError: org.hibernate.query.internal.ParameterMetadataImpl.<init>([Lorg/hibernate/engine/query/spi/OrdinalParameterDescriptor;Ljava/util/Map;)V
at org.hibernate.search.impl.FullTextSessionImpl.createFullTextQuery(FullTextSessionImpl.java:88) ~[hibernate-search-orm-5.9.2.Final.jar:5.9.2.Final]
at org.hibernate.search.impl.FullTextSessionImpl.createFullTextQuery(FullTextSessionImpl.java:78) ~[hibernate-search-orm-5.9.2.Final.jar:5.9.2.Final]
at org.hibernate.search.impl.FullTextSessionImpl.createFullTextQuery(FullTextSessionImpl.java:52) ~[hibernate-search-orm-5.9.2.Final.jar:5.9.2.Final]
at de.estructor.portal.data.jpa.repo.training.TrainingRepoSearchImpl.searchByKeywords(TrainingRepoSearchImpl.java:50) ~[classes/:na]
Run Code Online (Sandbox Code Playgroud)
当我要求我的 IDE 打开文件时,我可以看到构造函数存在为
public ParameterMetadataImpl(
Map<Integer,OrdinalParameterDescriptor> ordinalDescriptorMap,
Map<String, NamedParameterDescriptor> namedDescriptorMap) {
Run Code Online (Sandbox Code Playgroud)
这是我的 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.estructor</groupId>
<artifactId>data</artifactId>
<version>0.0.1</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-data</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency> …Run Code Online (Sandbox Code Playgroud) 根据谷歌的建议,我getLongVersionCode用来获取这样的版本代码:
private long getCurrentCode() {
try {
return context.getPackageManager()
.getPackageInfo(context.getPackageName(), 0).getLongVersionCode();
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行我的应用程序时,我的应用程序强制关闭并且出现此错误:
Process: com.xxxxx.debug, PID: 25754
java.lang.NoSuchMethodError: No virtual method getLongVersionCode()J in class Landroid/content/pm/PackageInfo; or its super classes (declaration of 'android.content.pm.PackageInfo' appears in /system/framework/framework.jar)
at com.xxxxx.common.ApplicationUpdateTask.getCurrentCode(ApplicationUpdateTask.java:329)
at com.xxxxx.common.ApplicationUpdateTask.<init>(ApplicationUpdateTask.java:84)
Run Code Online (Sandbox Code Playgroud)
所以我决定使用:
String versionName = BuildConfig.VERSION_NAME;
Run Code Online (Sandbox Code Playgroud)
但是现在这个推荐回来了-1!!!!!!
这是我的 gradle 配置:
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
minSdkVersion 15
targetSdkVersion 28
versionCode 66
versionName '2.0.66'
applicationId 'com.xxxxxx.yyyyy'
multiDexEnabled true
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Java 阅读 PDF 文档。我对此很陌生,而且对使用 IntelliJ 配置依赖项也很陌生。完整的错误是:
Exception in thread "main" java.lang.NoSuchMethodError: 'void org.apache.fontbox.cmap.CMapParser.<init>(boolean)'
at org.apache.pdfbox.pdmodel.font.CMapManager.parseCMap(CMapManager.java:74)
at org.apache.pdfbox.pdmodel.font.PDFont.readCMap(PDFont.java:213)
at org.apache.pdfbox.pdmodel.font.PDFont.loadUnicodeCmap(PDFont.java:147)
at org.apache.pdfbox.pdmodel.font.PDFont.<init>(PDFont.java:115)
at org.apache.pdfbox.pdmodel.font.PDSimpleFont.<init>(PDSimpleFont.java:74)
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.<init>(PDTrueTypeFont.java:185)
at org.apache.pdfbox.pdmodel.font.PDFontFactory.createFont(PDFontFactory.java:89)
at org.apache.pdfbox.pdmodel.PDResources.getFont(PDResources.java:146)
at org.apache.pdfbox.contentstream.operator.text.SetFontAndSize.process(SetFontAndSize.java:66)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:933)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:515)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:489)
at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:156)
at org.apache.pdfbox.text.LegacyPDFStreamEngine.processPage(LegacyPDFStreamEngine.java:144)
at org.apache.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:394)
at org.apache.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:322)
at org.apache.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:269)
at org.apache.pdfbox.text.PDFTextStripper.getText(PDFTextStripper.java:233)
at com.company.Main.main(Main.java:18)
Run Code Online (Sandbox Code Playgroud)
我现在的代码:
public static void main(String[] args) throws IOException {
PDDocument document = PDDocument.load(new File("src/dummy.pdf"));
if(!document.isEncrypted()){
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(document);
System.out.println("Text:"+text);
}
document.close();
} …Run Code Online (Sandbox Code Playgroud)