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 звено цепи, которое, в свою очередь, содержит основную причину этого исключения, упоминая фактически отсутствующий класс. Возможно, вы можете перенастроить сборку так, чтобы она отображала полную цепочку причин возникновения исключений.

В общем, попробуйте сравнить две среды сборки с целевыми платформами, которые они используют для разрешения зависимостей. Это делает отсутствующие библиотеки очевидными.

Другие вопросы по тегам