GVKun编程网logo

在 IntelliJ 10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”

18

此处将为大家介绍关于在IntelliJ10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”的详细内容,此外,我们还

此处将为大家介绍关于在 IntelliJ 10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”的详细内容,此外,我们还将为您介绍关于android – 程序类型已存在:org.hamcrest.CoreMatchers、Apache Camel抛出java.lang.NoSuchMethodError:org.apache.camel.util.ObjectHelper.notNull、Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval、HTTP状态500-内部服务器错误java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan的有用信息。

本文目录一览:

在 IntelliJ 10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”

在 IntelliJ 10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”

我正在使用 JUnit-dep 4.10 和 Hamcrest 1.3.RC2。

我创建了一个自定义匹配器,如下所示:

public static class MyMatcher extends TypeSafeMatcher<String> {    @Override    protected boolean matchesSafely(String s) {        /* implementation */    }    @Override    public void describeTo(Description description) {        /* implementation */    }    @Override    protected void describeMismatchSafely(String item, Description mismatchDescription) {        /* implementation */    }}

当使用 Ant 从命令行运行时,它工作得非常好。但是当从 IntelliJ 运行时,它会失败并显示:

java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V    at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)    at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)    at com.netflix.build.MyTest.testmyStuff(MyTest.java:40)

我的猜测是它使用了错误的 hamcrest.MatcherAssert。我如何找到它正在使用的 hamcrest.MatcherAssert(即它用于
hamcrest.MatcherAssert 的 jar 文件)?AFAICT,我的类路径中唯一的 hamcrest jar 是 1.3.RC2。

IntelliJ IDEA 是否使用它自己的 JUnit 或 Hamcrest 副本?

如何输出 IntelliJ 正在使用的运行时 CLASSPATH?

答案1

小编典典

问题是使用了错误hamcrest.Matcher的而不是hamcrest.MatcherAssert类。这是从我的依赖项之一指定的
junit-4.8 依赖项中提取的。

要查看测试时从哪个来源包含哪些依赖项(和版本),请运行:

mvn dependency:tree -Dscope=test

android – 程序类型已存在:org.hamcrest.CoreMatchers

android – 程序类型已存在:org.hamcrest.CoreMatchers

当我构建我的应用程序时,我得到了跟随错误.

Program type already present: org.hamcrest.CoreMatchers

Message{kind=ERROR, text=Program type already present: org.hamcrest.CoreMatchers, sources=[UnkNown source file], tool name=Optional.of(D8)}

我有谷歌我的问题和喜欢类似的问题here,但无法得到正确的答案.

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        ndk {
            ndk {
                moduleName "exec"
                abiFilters 'armeabi-v7a'
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jni.srcDirs = []
            jniLibs.srcDirs = ['libs']
            res.srcDirs = ['src/main/res']
            assets.srcDirs = ['src/main/assets']
            manifest.srcFile 'src/main/AndroidManifest.xml'
        }
    }
    configurations.all{
        resolutionStrategy.force 'org.hamcrest:hamcrest-core:1.1'
    }

}

dependencies {
    implementation filetree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.j256.ormlite:ormlite-core:4.41'
    implementation 'com.j256.ormlite:ormlite-android:4.41'
    implementation 'com.googlecode.json-simple:json-simple:1.1.1'
    implementation 'org.mozilla:rhino:1.7.10'
}

谢谢你的帮助!

解决方法:

下载json-simple 1.1.1的jar文件并将其放在libs文件夹中.

并从build.gradle中删除实现’com.googlecode.json-simple:json-simple:1.1.1′.

我不知道为什么这解决了这个问题,因为我不知道为什么会出现这个问题.

Apache Camel抛出java.lang.NoSuchMethodError:org.apache.camel.util.ObjectHelper.notNull

Apache Camel抛出java.lang.NoSuchMethodError:org.apache.camel.util.ObjectHelper.notNull

我有一个时髦的剧本,我正试着去;它的工作是读取一个消息队列,然后将消息重新排队到我们正在运行的一组新MQ中.

这是代码:

@Grab(group='org.apache.camel', module='camel-core', version='2.11.0')
@Grab(group='org.apache.activemq', module='activemq-core', version='5.7.0')
@Grab(group='org.apache.activemq', module='activemq-camel', version='5.8.0')
@Grab(group='ch.qos.logback', module='logback-classic', version='1.0.13')


import org.apache.activemq.camel.component.ActiveMQComponent
import org.apache.activemq.ActiveMQConnectionFactory
import org.apache.camel.CamelContext
import org.apache.camel.builder.RouteBuilder
import org.apache.camel.impl.DefaultCamelContext

class copyFromOneserverToAnother extends RouteBuilder{

public static void main(String[] args) {

    final CamelContext camelContext = new DefaultCamelContext();

    camelContext.addComponent("jms-01", ActiveMQComponent.activeMQComponent("tcp://mq01:61616"));

    try {
        // Add the routes defined below to the camel context
        camelContext.addRoutes(new copyFromOneserverToAnother());
        camelContext.start();
        Thread.sleep(10000000);
    }
    catch (final Exception e) {
        e.printstacktrace();
    }
    finally {
        try {
            camelContext.stop();
        }
        catch (final Exception e) {
            e.printstacktrace();
        }
    }
}

@Override
public void configure() throws Exception {
    /// The name of the AMQ instance and queue where message will be taken from
    from("jms-01:TEST-1")
            .log("Processed")
            // Final resting point for each message.
            .to("jms-01:TEST-3")
            .end();
}
}

因此,这是使用相同的代理来源和目标,但不同的队列.

这会读取消息,但在尝试编写消息时会抛出异常:

15:15:31.548 [Camel (camel-1) thread #0 - JmsConsumer[TEST-1]] INFO  route1 - Processed
15:15:31.548 [Camel (camel-1) thread #0 - JmsConsumer[TEST-1]] DEBUG o.a.camel.processor.SendProcessor - >>>> Endpoint[jms-01://TEST-3] Exchange[JmsMessage[JmsMessageID: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1]]
15:15:31.594 [Camel (camel-1) thread #0 - JmsConsumer[TEST-1]] DEBUG o.a.c.processor.DefaultErrorHandler - Failed delivery for (MessageId: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1 on ExchangeId: ID-ukm038662-local-53821-1370441730008-0-10). On delivery attempt: 0 caught: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[JmsMessage[JmsMessageID: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1]]
15:15:31.595 [Camel (camel-1) thread #0 - JmsConsumer[TEST-1]] ERROR o.a.c.processor.DefaultErrorHandler - Failed delivery for (MessageId: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1 on ExchangeId: ID-ukm038662-local-53821-1370441730008-0-10). Exhausted after delivery attempt: 1 caught: org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[JmsMessage[JmsMessageID: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1]]
org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[JmsMessage[JmsMessageID: ID:mq01.dummycorp.corp-60083-1370438794752-5:131:1:1:1]]
  at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1354) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:272) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:137) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:117) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.interceptor.BacklogTracerInterceptor.process(BacklogTracerInterceptor.java:84) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:390) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:273) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:335) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) [camel-core-2.11.0.jar:2.11.0]
  at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104) [camel-jms-2.10.3.jar:2.10.3]
  at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:326) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:264) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncmessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1071) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncmessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncmessageListenerInvoker.run(DefaultMessageListenerContainer.java:960) [spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_21]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_21]
  at java.lang.Thread.run(Thread.java:722) [na:1.7.0_21]
Caused by: java.lang.NoSuchMethodError: org.apache.camel.util.ObjectHelper.notNull(Ljava/lang/Object;Ljava/lang/String;)V
  at org.apache.camel.component.jms.JmsBinding.makeJmsMessage(JmsBinding.java:285) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsProducer$2.createMessage(JmsProducer.java:270) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsConfiguration$Cameljmstemplate.doSendToDestination(JmsConfiguration.java:216) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsConfiguration$Cameljmstemplate.access$100(JmsConfiguration.java:159) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsConfiguration$Cameljmstemplate$1.doInJms(JmsConfiguration.java:173) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.springframework.jms.core.jmstemplate.execute(jmstemplate.java:466) ~[spring-jms-3.1.3.RELEASE.jar:3.1.3.RELEASE]
  at org.apache.camel.component.jms.JmsConfiguration$Cameljmstemplate.send(JmsConfiguration.java:170) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:402) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:356) ~[camel-jms-2.10.3.jar:2.10.3]
  at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:132) ~[camel-jms-2.10.3.jar:2.10.3]
  ... 49 common frames omitted

解决方法:

我只是偶然发现了同样的问题.添加此依赖项:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jms</artifactId>
    <version>${camel.version}</version>
</dependency>

我的pom修好了.没有它,使用了一个较旧的(比我的其他骆驼库)版本的库 – 正如克劳斯在另一个答案中所建议的那样

Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval

Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval

我正在尝试升级到Hibernate 3.5.3-FINAL。

运行单元测试时,我现在收到以下异常:

java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z   
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1837)

我的类路径包含以下JAR:

从hibernatedist:

antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
slf4j-api-1.5.8.jar

cglib-2.2.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar

其他jar:

blazeds-common-3.2.0.3978.jar
blazeds-core-3.2.0.3978.jar
blazeds-opt-3.2.0.3978.jar
blazeds-proxy-3.2.0.3978.jar
blazeds-remoting-3.2.0.3978.jar
commons-lang-2.3.jar
dbunit-2.4.7.jar
ejb3-persistence.jar // Note,I've tried excluding this,but I get different errors
guava-r05.jar
hsqldb-1.8.0.7.jar
junit-4.1.jar
lambdaj-2.0-with-dependencies.jar
log4j-1.2.14.jar
mockito-all-1.8.0.jar
persistence-api-1.0.jar
spring-security-core-2.0.0.jar
spring.jar
sqljdbc.jar

我已经对此进行了研究,发现答案表明我的Web服务器必须符合JPA2:

不幸的是,如果您的应用服务器不符合JPA 2标准,那么您可能会不走运

该项目是一个库,而不是网络服务器项目。(尽管最终将其部署到Web服务器,但我只是在这里运行单元测试)

我想念什么?

<indulgent_rant>

附带说明,每次升级Hibernate时,我都会发现自己花了很多时间研究MethodNotFoundExceptionClassNotFoundException的冲突jar,这令人非常沮丧。一定有更简单的方法吗?

我确信,在宣布这一消息后,他们将这些模块合并到一个核心项目中,这些冲突会消失吗?

</indulgent_rant>

HTTP状态500-内部服务器错误java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan

HTTP状态500-内部服务器错误java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan

如何解决HTTP状态500-内部服务器错误java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan?

重新启动Tomcat服务器(Tomcat 8.5.53)后,服务器成功重新启动..但是在打开应用程序时,我在浏览器中遇到以下错误

Http status 500- Internal server error

500的原因低于错误

javax.servlet.servletexception : ava.lang.NoSuchMethodError: org.apache.tomcat.JarScanner.scan(Ljavax/servlet/ServletContext;Ljava/lang/ClassLoader;Lorg.apache.tomcat.JarScannerCallback;Ljava.util.Set;)

java.lang.NoSuchMethodError: org.apache.tomcat.JarScanner.scan(Ljavax/servlet/ServletContext;Ljava/lang/ClassLoader;Lorg.apache.tomcat.JarScannerCallback;Ljava.util.Set;)

在验证了来自不同网站以及Stackoverflow的大多数答案后,他们提到jar可能存在版本差异。.但是tomcat jar与tomcat版本一起出现,我在此应用程序中使用了Struts

请帮助我解决此错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

关于在 IntelliJ 10.5中运行测试时出现“NoSuchMethodError:org.hamcrest.Matcher.describeMismatch”的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于android – 程序类型已存在:org.hamcrest.CoreMatchers、Apache Camel抛出java.lang.NoSuchMethodError:org.apache.camel.util.ObjectHelper.notNull、Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval、HTTP状态500-内部服务器错误java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan等相关内容,可以在本站寻找。

本文标签: