我正在使用MaleOrang,它是MailChimp的Java包装器,它是比较流行的电子邮件营销网站之一。我将MaleOrang jar文件添加到项目的类路径中,并使用以下示例连接到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)
    ...

最佳答案

我认为您弄错了整个事情。

不应将Java库下载为.jar。相反,必须为此使用构建和依赖管理工具。

如自述文件所述,可通过MavenCentral访问MaleOrang。

将Maven或Gradle添加到您的项目中,然后在配置文件中添加com.ecwid:maleorang:3.0-0.9.2作为依赖项。

这样一来,您就可以使用任何Java库,而无需担心其依赖关系(随时间而变化)。

07-26 05:19