Java 找不到org.jose4j.json.internal.json_simple

Java 找不到org.jose4j.json.internal.json_simple,java,android,json,intellij-idea,Java,Android,Json,Intellij Idea,我已经创建了一个Android项目,并在IntelliJ上添加了一个外部JAR。 我已经安装了“json-simple-1.1.jar”来使用包org.jose4j.json.internal.json_simple。我在“项目结构”菜单中设置了一个库来使用它。 但是当我运行程序时,错误信息说, “错误:包org.jose4j.json.internal.json\u simple不存在 import org.jose4j.json.internal.json_simple.JSONArray;

我已经创建了一个Android项目,并在IntelliJ上添加了一个外部JAR。 我已经安装了“json-simple-1.1.jar”来使用包org.jose4j.json.internal.json_simple。我在“项目结构”菜单中设置了一个库来使用它。 但是当我运行程序时,错误信息说, “错误:包org.jose4j.json.internal.json\u simple不存在 import org.jose4j.json.internal.json_simple.JSONArray;”。 (不仅是JSONArray,还有其他JSON,如JSONObject)

当我在Android项目之外使用它时,它起了作用。 Android项目有什么特殊设置吗


到目前为止,我通过另外创建“lib”文件夹将jar文件存储在项目文件夹下。

app/build.gradle
依赖项部分添加以下内容:

compile group: 'org.bitbucket.b_c', name: 'jose4j', version: '0.7.0'

重新导入/刷新IntelliJ IDEA中的项目。

这是基于Gradle的项目吗?你能分享你正在使用的jar文件的链接并提供引用这个jar中的类的源代码吗?是的,这是一个基于Gradle的项目。就jar文件而言,我没有从外部安装任何东西。我只是在用IntelliJ的图书馆。根据那个lib文件夹,我似乎在使用jose4j-0.6.0.jar。这个库是一个不同的JSON实现,它有一个包:
org.JSON.simple
。但是您的代码使用的是完全不同的JSON:
org.jose4j.JSON
。您需要找到正确的库或更改代码。此外,在基于Gradle的项目中,所有依赖项都必须在
build.Gradle
文件中定义,您对项目结构所做的所有更改都将在重新导入时放弃。如果您需要导入带有Gradle的本地jar,请参阅以下问题和答案:。这可能是一个愚蠢的问题,但当我制作了一个没有android的简单java程序(如客户端-服务器简单程序)时,org.jose4j.json工作正常。所以我认为我对android项目的设置是错误的。有没有什么原因可以解释为什么它在一个简单的java程序中工作,而在android项目中却不工作?很可能您使用的是不同的JAR或不同的代码。如果你分享你的项目,我会告诉你到底是什么问题。我补充了这一点,但仍然会发生错误。我把截图保存在Github上。这是另一个问题,与你的问题无关,但原因是一样的:缺少库。找到这些库的适当依赖项,并将它们添加到build.gradle中。请注意,由于应用程序文件夹中的libs目录为空,因此此行无效:
implementation fileTree(dir:'libs',include:['*.jar'])
。如果JSON的问题解决了,请随意接受答案,因为它解决了原始问题。非常感谢您的帮助!!如果要找到合适的库,最好的方法是什么?在中搜索包名并复制/粘贴Gradle依赖项行。非常感谢!!我真的很感激!在使用jar文件的情况下,我不知道这个操作。我刚从项目结构中设置了库。