2016-08-17 4 views
0

私はMailChimpのJavaラッパーMaleOrangを使用しています。これは、より一般的な電子メールマーケティングサイトの1つです。私は私のプロジェクトのクラスパスにMaleOrang jarファイルを追加し、MailChimpに接続し、自分のアカウントに加入者を追加するには、次の例を使用:JavaプロジェクトでKotlinが書いたMailChimpラッパーの使い方

public void RunMailChimp() throws Exception { 
     MailchimpClient client = new MailchimpClient(apiKey); 
     try { 
      EditMemberMethod.CreateOrUpdate method = new EditMemberMethod.CreateOrUpdate(listId, Email); 
      method.status = "subscribed"; 
      method.merge_fields = new MailchimpObject(); 
      method.merge_fields.mapping.put("FNAME", firstName); 
      method.merge_fields.mapping.put("LNAME", lastName); 

      MemberInfo member = client.execute(method); 
      System.err.println("The user has been successfully subscribed: " + member); 
     } finally { 
      client.close(); 
     } 
    } 

次のエラーがが現れました。 MaleOrangの後ろにいる人は、彼のラッパーはKotlin言語で書かれていると言いますが、これは私には経験がありませんが、このエラーがそれと関係していると仮定しています。誰でもこの仕組みを理解できるでしょうか?

Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics 
    at com.ecwid.maleorang.MailchimpClient.<init>(MailchimpClient.kt) 
    ... 
+2

dowload 'kotlin-runtime.jar' –

+1

https://discuss.kotlinlang.org/t/java-lang-noclassdeffounderror-kotlin-jvm-internal-reflection/287 –

+0

私は簡単な修正が好きです。ありがとう、それは例外を取り除きましたが、今は別のものがあります: 'NoClassDefFoundError:kotlin/text/Charsets'です。コトリン文献はよく隠されているようだ。この依存関係はどこにあるのか知っていますか? – corpico

答えて

1

私はあなたが間違った方法を持っていると思います。

java libは.jarとしてダウンロードされるはずがありません。代わりに、は、がビルドおよび依存管理ツールを使用する必要があります。

READMEに記載されているように、MaleOrangはMavenCentralからアクセス可能です。

プロジェクトにMavenまたはGradleを追加して、com.ecwid:maleorang:3.0-0.9.2を依存ファイルとして構成ファイルに追加します。

このようにすれば、依存関係(時間が経つにつれて変化する可能性があります)を心配することなく、ハートビートでJava libを使用することができます。

+0

少し詳しく説明できますか?申し訳ありませんが、以前はMavenを使用したことがなく、学習しようとしています。私はちょうどNetbeansで通常のJavaプロジェクトを持っているし、常にサードパーティライブラリを使用するためにJarファイルを追加している。私のプロジェクトで使用できるように、MaleOrangとそのすべての依存関係をパッケージ化する方法はありませんか? – corpico

+0

確かに1つをパッケージ化する方法はありますが、特別なケースでは配布するためにNetBeansを使わないために使われます – voddan

+0

私のポイントは、あなたがもう一度フローをスイングしようとしているので、 ) – voddan

関連する問題