2017-01-03 38 views
1

BingAdsからレポートをダウンロードしようとしています。私のコードはIDEAの中でレポートをダウンロードしますが、大きな問題はありません。私はそれがSBTのような内部で実行させるしようとすると:java.lang.NoClassDefFoundError:クラスを初期化できませんでした

H24_BING_CONFIG = /ホーム/ oleber /デル/ develop_bing.json SBTクリーン 'プロジェクトimporterBing' 'RUN'

は、実行は次のように失敗します。

[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) 

警告は両方の場所にあります。

私は完全に失われています。可能な解決策はありますか?

答えて

0

キーストアに関する警告は、例外とは関係ありません。

問題はおそらく、失敗したビルドには、com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImplを取り囲む依存関係がないことが考えられます。 IDEAはおそらくその依存関係を提供します。これは、内部ビルドが別のビルド環境(クラスパス/ターゲットプラットフォーム)に存在する可能性があるため可能です。

NoClassDefFoundErrorsの最も一般的な理由は、参照されるクラスの静的初期化子(根本原因としてExceptionInInitializer)でスローされ、参照されるクラスではClassNotFoundExceptionsです。後者は、SAAJMetaFactoryImplの依存関係が欠落していて、FactoryImpl自体のライブラリではない場合に起こります。

私は、例外には実際に見逃されているクラスに言及しているその例外の根本原因を含む別のCaused-Byチェーンリンクが含まれていると思われます。おそらく、スローされた例外の完全な原因チェーンを表示するようにビルドを再構成することができます。

一般に、依存関係を解決するために使用するターゲットプラットフォームに関して、2つのビルド環境を比較してみてください。これは欠けているライブラリを明白にします。

関連する問題