2015-04-10 2 views
0

Я пытался обновить свое приложение с 1.6.2.RELEASE до 1.7.0.RELEASE в моем проекте playframework. Вставка запросов работает нормально, но, похоже, проблема связана с тем, что весенние данные пытаются раздуть объект, используя имя класса после получения результата по запросу, если нет результата против запроса, тогда он возвращает пустой arraylist без ошибки бросания.NoClassDefFoundError после обновления до 1.7.0.RELEASE

1.7.0.RELEASE отлично работает в другом проекте, основанном на весенней интеграции.

ниже statck след: -

java.lang.NoClassDefFoundError: models/db/nosql/ACME 
models.db.nosql.ACME_Instantiator_gtblf6.newInstance(Unknown Source) 
org.springframework.data.convert.BytecodeGeneratingEntityInstantiator$EntityInstantiatorAdapter.createInstance(BytecodeGeneratingEntityInstantiator.java:193) 
org.springframework.data.convert.BytecodeGeneratingEntityInstantiator.createInstance(BytecodeGeneratingEntityInstantiator.java:76) 
org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:250) 
org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:231) 
org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:191) 
org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:187) 
org.springframework.data.mongodb.core.convert.MappingMongoConverter.read(MappingMongoConverter.java:78) 
org.springframework.data.mongodb.core.MongoTemplate$ReadDbObjectCallback.doWith(MongoTemplate.java:2191) 
org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:1873) 
org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1696) 
org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:1679) 
org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:598) 
org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:589) 
GenerateACME.reverseBizCode(GenerateACME.java:42) 
Global.onStart(Global.java:23) 
play.core.j.JavaGlobalSettingsAdapter.onStart(JavaGlobalSettingsAdapter.scala:22) 
play.api.GlobalPlugin.onStart(GlobalSettings.scala:220) 
play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) 
play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:91) 
scala.collection.immutable.List.foreach(List.scala:383) 
play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:91) 
play.api.Play$$anonfun$start$1.apply(Play.scala:91) 
play.api.Play$$anonfun$start$1.apply(Play.scala:91) 
play.utils.Threads$.withContextClassLoader(Threads.scala:21) 
play.api.Play$.start(Play.scala:90) 
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:157) 
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(ApplicationProvider.scala:130) 
scala.Option.map(Option.scala:145) 
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:130) 
play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$1.apply(ApplicationProvider.scala:128) 
scala.util.Success.flatMap(Try.scala:230) 
play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:128) 
play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:120) 
scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) 
scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) 
scala.concurrent.forkjoin.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1361) 
scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
+0

Как выглядит 'models/db/nosql/ACME'? Это класс Java или Scala? –

+0

Это класс java –

+0

Итак, не могли бы вы его показать? Хрустальный шар настолько туманный, в противном случае ... –

ответ

-1

Я столкнулся эту ошибку тоже. Я думаю, что это ошибка весенних данных mongodb.

Если модель Db и весь сервис, репозиторий находятся в одном проекте, такой ошибки нет. Но если услуга в другом проекте, ее можно воспроизвести на 100%. Я не нашел способа избежать этой ошибки.

Теперь я пытаюсь использовать OGM на постоянном уровне mongodb.

+0

После долгого исследования единственным способом является то, что до выпуска данных mongodb 1.6.2 весны. Я сомневаюсь, что самозавершение может быть обходным путем, но я не пытаюсь. И эта ошибка не исправлена ​​на 1.8.x M1. –