【问题标题】:Exception: java.lang.NoClassDefFoundError - org/json/simple/JSONValue例外:java.lang.NoClassDefFoundError - org/json/simple/JSONValue
【发布时间】:2019-05-09 00:33:37
【问题描述】:

我想使用 yandex api 翻译 它适用于 Java 项目,但不适用于 Codename One 项目

我按照这些步骤在项目中添加了一个 api,就像我在 java 项目中所做的那样:https://github.com/rmtheis/yandex-translator-java-api

我想在单击按钮时翻译标签中的内容 我用 mykey 修改了密钥以获取机密信息

         b.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent actionEvent) {

                Translate.setKey("mykey");
            try {
                setTranslatedText(Translate.execute("bonjour", Language.FRENCH, Language.ENGLISH));
            } catch (Exception e) {
                e.printStackTrace();
            }

            ldesc2.setText("Description (Anglais):"+getTranslatedText());



        }
    });

当我单击时出现错误:异常:java.lang.NoClassDefFoundError - org/json/simple/JSONValue

【问题讨论】:

  • 这个库是否与您的应用程序捆绑在一起?你如何打包你的应用程序?
  • 我只是用 IDE intellij 执行它
  • 似乎库没有添加到运行类路径中。是否可以提供示例项目示例供调查?
  • 我不懂你
  • 您不能只将外部库添加到 Codename One,我们将无法将该库翻译到任何平台,它就无法正常工作。您需要使用本机接口或使用 cn1lib 实现事物。在这种情况下,您可以只使用 REST API 而不是 yandex 的 Java API。

标签: java jar codenameone yandex-api


【解决方案1】:

我在尝试添加外部库时遇到了类似的事情(我尝试使用 javax.mail)。我有一个运行良好的单独程序,但是在我的代号一个项目中实施时,我得到了相同的java.lang.NoClassDefFoundError 错误。问题是代号一不适用于外部库,仅代号一扩展。如果您进入首选项并查看扩展选项卡,您可以搜索执行类似操作的库。

【讨论】:

  • 我正在用 Intellij 编程,我怎么能找到它?
猜你喜欢
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2015-06-02
  • 2013-01-10
相关资源
最近更新 更多