NoSuchMethodError com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity

Я запускаю тестовую программу Java для установления соединения с OrientDB и продолжаю получать эти исключения, когда запускаю код из IntelliJ IDEA или OpenFire (сервер xmpp):

Есть идеи, почему? Как это исправить?

ОБНОВЛЕНИЕ 1

Мне кажется, что это связано с этой библиотекой (от Google): concurrentlinkedhashmap-lru-1.4.1.jar.

Но я искал файловую систему компьютера для разработки и нашел только вышеупомянутую версию (1.4.1).

ОБНОВЛЕНИЕ 2 — Решение

После тщательного поиска я обнаружил, что у меня была другая версия concurrentlinkedhashmap-lru-xxxx.jar в файловой системе моего компьютера для разработки, и каким-то образом мне «удалось» поместить две разные версии в сборку.

Между тем, я по-прежнему получаю те же исключения при использовании моей библиотеки (которую я уже протестировал) для установления соединения с OrientDb из OpenFire, поскольку OpenFire использует другую версию concurrentlinkedhashmap, а не ту, которая используется OrientDb (concurrentlinkedhashmap-lru- 1.4.1.баночка).

_1_ происходит потому, что во время выполнения Java пыталась вызвать метод для объекта и обнаружила, что он не существует, в частности:


person user1837865    schedule 14.10.2015    source источник
comment
Пожалуйста, проверьте библиотеки, в которых этот код был взят из com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder?   -  person Suresh Atta    schedule 14.10.2015
comment
Проверьте эту ссылку: stackoverflow.com/questions/ 13501506/   -  person Phani    schedule 14.10.2015
comment
java.lang.NoSuchMethodError: com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity(J)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder; в com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.(OSBTreeCollectionManagerAbstract.java:43) в com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.(OSBTreeCollectionManagerAbstract.java: 48) в com.orientechnologies.orient.client.remote.OSBTreeCollectionManagerRemote.(OSBTreeCollectionManagerRemote.java:58) в sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) в sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) в java.lang.reflect.Constructor.newInstance(Constructor.java:526) в java.lang.Class.newInstance(Class.java:379) в com.orienttechnologies .orient.core.db.document.ODatabaseDocumentTx$2.call(ODatabaseDocumentTx.java:2863) по адресу com.orienttechnologies.orient.core.db.document.ODatabaseDocumentTx$2.call(ODatabas eDocumentTx.java:2854) по адресу com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:64) по адресу com.orientechnologies.orient.core.storage.OStorageAbstract.getResource(OStorageAbstract.java:143) по адресу com .orientechnologies.orient.client.remote.OStorageRemoteThread.getResource(OStorageRemoteThread.java:658) в com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.initAtFirstOpen(ODatabaseDocumentTx.java:2853) в com.orienttechnologies.orient.core .db.document.ODatabaseDocumentTx.open(ODatabaseDocumentTx.java:260) в com.orientechnologies.orient.jdbc.OrientJdbcConnection.(OrientJdbcConnection.java:63) в com.orientechnologies.orient.jdbc.OrientJdbcDriver.connect(OrientJdbcDriver.java: 52) в java.sql.DriverManager.getConnection(DriverManager.java:571) в java.sql.DriverManager.getConnection(DriverManager.java:187) в com.momentum.orientdb.core.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:87) ) в com.momentum.orientdb.core.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:56) в com.momentum.orientdb.core.JdbcConnectionManager$getConnection.call(неизвестный источник) в org.codehaus.groovy.runtime.callsite.CallSiteArray. defaultCall(CallSiteArray.java:42) по адресу org.codehaus.groovy.runtime.callsite. AbstractCallSite.call(AbstractCallSite.java:108) в org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112) в com.momentum.orientdb.core.test.JdbcConnectionManagerTest.testGetConnection(JdbcConnectionManagerTest.groovy: 26) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в org.junit.internal .runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) в org.junit.runner.JUnitCore.run(JUnitCore.java:160) в com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78) в com. intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212) в com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод ) при солнечном отражении.N ativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)   -  person soorapadman    schedule 14.10.2015


Ответы (2)


Конечно, вы ожидаете, что в этом случае код не будет компилироваться, так что это почти всегда означает, что вы скомпилировали версию класса, отличную от той, которая предоставляется во время выполнения — обычно это проблема версии.

com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity(J)Lcom/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;

Итак, вы должны выяснить, из какой библиотеки вы получаете ConcurrentLinkedHashMap, и сравнить ее с версией, используемой во время выполнения (как вы это развертываете? Она работает прямо из IntelliJ?). Скорее всего, вы обнаружите, что у них разные версии, и вам нужно будет изменить свою версию, чтобы она соответствовала.

Пожалуйста, перейдите по ссылке ниже и загрузите файл JAR,

person hugh    schedule 14.10.2015

http://mvnrepository.com/artifact/com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.4.2

Проблема в версии, которую вы пытаетесь использовать, правильная версия — 1.4.2.

У вас есть несколько копий уважаемых файлов Jar?

person Chinnadurai_V    schedule 05.01.2017