java.lang.NoClassDefFoundError: Не удалось инициализировать класс
Я пытаюсь загрузить отчет из BingAds. Мой код работает внутри IDEA при загрузке отчета, нет большой проблемы. Когда я пытаюсь заставить его работать внутри sbt как:
H24_BING_CONFIG = / home / oleber / del / develop_bing.json sbt clean 'импортер проектов Bing' 'запустить'
Выполнение терпит неудачу как:
[oleber] [WARN] [home24-aws] [org.apache.cxf.transport.https.HttpsURLConnectionFactory] [Default key managers cannot be initialized: /home/oleber/.keystore (No such file or directory)]
[oleber] [WARN] [home24-aws] [org.apache.cxf.transport.https.HttpsURLConnectionFactory] [Default key managers cannot be initialized: /home/oleber/.keystore (No such file or directory)]
java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at javax.xml.soap.FactoryFinder.newInstance(FactoryFinder.java:47)
at javax.xml.soap.FactoryFinder.find(FactoryFinder.java:194)
at javax.xml.soap.FactoryFinder.find(FactoryFinder.java:98)
at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:74)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:146)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:111)
at org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver.createMessageFactory(SAAJFactoryResolver.java:56)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.getFactory(SAAJOutInterceptor.java:87)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.handleMessage(SAAJOutInterceptor.java:123)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:120)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:416)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:394)
at org.apache.cxf.jaxws.JaxWsClientProxy.invokeAsync(JaxWsClientProxy.java:297)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
at com.sun.proxy.$Proxy68.submitGenerateReportAsync(Unknown Source)
at com.microsoft.bingads.reporting.ReportingServiceManager.submitDownloadAsync(ReportingServiceManager.java:196)
at importer.bing.BingAdsImporterDownloader.submit(BingAdsImporterDownloader.scala:104)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1$$anonfun$apply$2.apply(BingAdsImporterDownloader.scala:171)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1$$anonfun$apply$2.apply(BingAdsImporterDownloader.scala:170)
at common.ManagedResource$.withTmpDir(ManagedResource.scala:47)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1.apply(BingAdsImporterDownloader.scala:170)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1.apply(BingAdsImporterDownloader.scala:159)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at javax.xml.soap.FactoryFinder.newInstance(FactoryFinder.java:47)
at javax.xml.soap.FactoryFinder.find(FactoryFinder.java:194)
at javax.xml.soap.FactoryFinder.find(FactoryFinder.java:98)
at javax.xml.soap.SAAJMetaFactory.getInstance(SAAJMetaFactory.java:74)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:146)
at javax.xml.soap.MessageFactory.newInstance(MessageFactory.java:111)
at org.apache.cxf.binding.soap.saaj.SAAJFactoryResolver.createMessageFactory(SAAJFactoryResolver.java:56)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.getFactory(SAAJOutInterceptor.java:87)
at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor.handleMessage(SAAJOutInterceptor.java:123)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:120)
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:416)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:394)
at org.apache.cxf.jaxws.JaxWsClientProxy.invokeAsync(JaxWsClientProxy.java:297)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)
at com.sun.proxy.$Proxy68.submitGenerateReportAsync(Unknown Source)
at com.microsoft.bingads.reporting.ReportingServiceManager.submitDownloadAsync(ReportingServiceManager.java:196)
at importer.bing.BingAdsImporterDownloader.submit(BingAdsImporterDownloader.scala:104)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1$$anonfun$apply$2.apply(BingAdsImporterDownloader.scala:171)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1$$anonfun$apply$2.apply(BingAdsImporterDownloader.scala:170)
at common.ManagedResource$.withTmpDir(ManagedResource.scala:47)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1.apply(BingAdsImporterDownloader.scala:170)
at importer.bing.BingAdsImporterDownloader$$anonfun$process$1.apply(BingAdsImporterDownloader.scala:159)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Предупреждения в обоих местах.
Я полностью потерян. У вас есть какое-нибудь возможное решение?
1 ответ
Предупреждения о хранилище ключей не относятся к исключениям.
Проблема, скорее всего, в том, что в сбойной сборке отсутствуют зависимости, окружающие com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl
, ИДЕЯ, вероятно, обеспечивает эту зависимость. Это возможно, поскольку внутренние сборки могут жить в другой среде сборки (classpath/target platform).
Наиболее распространенные причины NoClassDefFoundErrors
являются исключениями, генерируемыми в статических инициализаторах ссылочных классов (ExceptionInInitializer как основная причина) и ClassNotFoundExceptions
для ссылочных классов. Последнее то, что произойдет, если зависимость от SAAJMetaFactoryImpl
отсутствует, но не библиотека с самим FactoryImpl.
Я подозреваю, что исключение содержит другое Caused-By
звено цепи, которое, в свою очередь, содержит основную причину этого исключения, упоминая фактически отсутствующий класс. Возможно, вы можете перенастроить сборку так, чтобы она отображала полную цепочку причин возникновения исключений.
В общем, попробуйте сравнить две среды сборки с целевыми платформами, которые они используют для разрешения зависимостей. Это делает отсутствующие библиотеки очевидными.