在 Eclipse 中使用参考库 Java
Use reference libraries in Eclipse for Java
首先,我明确表示我已经在这个论坛和其他论坛上找到了这个主题,但是那些论坛上提供的 none 解决方案对我有用。
我在 Ubuntu 上使用 Eclipse,我正在尝试为我的 java 项目导入一些 .jar,但我无法让它工作,这是问题的屏幕截图:
正如您在屏幕右上角看到的,okhttp.jar 已添加到构建路径中,并且两个导入语句(通过按“ctrl + shift + o”生成)正确遵循什么出现在左侧的 Package Explore 中。
我也尝试过不使用 eclipse(将 okhttp.jar 和 class 放在同一个文件夹中并使用 javac -cp okhttp.jar Oracle.java
编译文件),但即使编译,当我尝试执行 java Oracle
:
时出现此错误
Exception in thread "main" java.lang.NoClassDefFoundError: com/squareup/okhttp/OkHttpClient
at Oracle.<clinit>(Oracle.java:20)
Caused by: java.lang.ClassNotFoundException: com.squareup.okhttp.OkHttpClient
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
有人知道导致此问题的原因吗?
我看到您已将其添加为模块,但我不确定这样做是否正确。并非每个 jar 都是一个模块。将它添加为一个简单的 jane 依赖项——没有多少图书馆采用拼图的东西。它应该出现在 'Classpath' 部分。右键单击库将其删除,然后再次右键单击它并添加它,这次是作为类路径依赖项,而不是作为模块。
I have also tried to do it without eclipse (putting okhttp.jar and the class in the same folder and compiling the file with javac -cp okhttp.jar Oracle.java), but even if its compile, I get this error when I try to execute java Oracle
不同的问题。
你有 2 个 'worlds'。编译时间,和运行时间。
对于 'normal' 依赖项,您需要它在这两种情况下都可用 。 javac
,而你整个'session'在eclipse中一般算作'compile time',但是java MyApp
算作运行次。
因此:
java -cp okhttp.jar:. Oracle
有效(在 windows 上使用 ;
而不是 :
)- 您还需要在 运行 时间指定 okhttp 在类路径上。 Oracle.class
包含 JUST 您的 Oracle.java
文件的 public class Oracle {}
部分中的代码,没有任何其他内容。它是一个中间产品,尚未准备好 运行 交接 'just click it' 可执行文件。
首先,我明确表示我已经在这个论坛和其他论坛上找到了这个主题,但是那些论坛上提供的 none 解决方案对我有用。
我在 Ubuntu 上使用 Eclipse,我正在尝试为我的 java 项目导入一些 .jar,但我无法让它工作,这是问题的屏幕截图:
正如您在屏幕右上角看到的,okhttp.jar 已添加到构建路径中,并且两个导入语句(通过按“ctrl + shift + o”生成)正确遵循什么出现在左侧的 Package Explore 中。
我也尝试过不使用 eclipse(将 okhttp.jar 和 class 放在同一个文件夹中并使用 javac -cp okhttp.jar Oracle.java
编译文件),但即使编译,当我尝试执行 java Oracle
:
Exception in thread "main" java.lang.NoClassDefFoundError: com/squareup/okhttp/OkHttpClient
at Oracle.<clinit>(Oracle.java:20)
Caused by: java.lang.ClassNotFoundException: com.squareup.okhttp.OkHttpClient
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
有人知道导致此问题的原因吗?
我看到您已将其添加为模块,但我不确定这样做是否正确。并非每个 jar 都是一个模块。将它添加为一个简单的 jane 依赖项——没有多少图书馆采用拼图的东西。它应该出现在 'Classpath' 部分。右键单击库将其删除,然后再次右键单击它并添加它,这次是作为类路径依赖项,而不是作为模块。
I have also tried to do it without eclipse (putting okhttp.jar and the class in the same folder and compiling the file with javac -cp okhttp.jar Oracle.java), but even if its compile, I get this error when I try to execute java Oracle
不同的问题。
你有 2 个 'worlds'。编译时间,和运行时间。
对于 'normal' 依赖项,您需要它在这两种情况下都可用 。 javac
,而你整个'session'在eclipse中一般算作'compile time',但是java MyApp
算作运行次。
因此:
java -cp okhttp.jar:. Oracle
有效(在 windows 上使用 ;
而不是 :
)- 您还需要在 运行 时间指定 okhttp 在类路径上。 Oracle.class
包含 JUST 您的 Oracle.java
文件的 public class Oracle {}
部分中的代码,没有任何其他内容。它是一个中间产品,尚未准备好 运行 交接 'just click it' 可执行文件。