【问题标题】:Java import classes from jar fileJava 从 jar 文件中导入类
【发布时间】:2013-12-17 13:14:56
【问题描述】:

我编写了一个从 JavaMail 导入一些类的类。 当应用程序运行时,它会自动下载文件并将其保存在名为depend 的目录中。 但是我无法从我下载的 Javamail jar 中导入类。 例如,我有:

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

在文件的顶部,这些类位于 (Path to program/depend/javax.mail.jar)

【问题讨论】:

  • 您使用的是 IDE 吗?如果是这样,您是否将 .jar 链接到您的构建路径?

标签: java file class jar


【解决方案1】:

您必须确保javamail.jar 文件位于classpath 上。

您可以使用-classpath arg 或设置CLASSPATH env var 来做到这一点。

  • 这是来自 Oracle 的 documentation 描述 java -classpath 命令行参数
  • 这里是documentation 描述如何设置CLASSPATH 环境变量。

【讨论】:

  • 我该怎么做?,getClass().getResource(filePath) 不起作用。
  • @user3055476 也许这个问题有帮助:stackoverflow.com/questions/252893/…
  • 您的 FilePath 是关于设置 您的 prog 正在使用的某个文件的路径。它不会帮助 Eclipse 或 JVM。您需要的类路径是关于您希望 JVM 使用的类所在的位置。除非您正在制作插件,否则您不会在代码中使用它。
【解决方案2】:

听起来您想通过网络加载类。

只能使用ClassLoader 来完成。 任何其他方式都无法做到这一点

可以使用 RMI 来完成 - 但在内部使用 ClassLoader

【讨论】:

    猜你喜欢
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2014-10-04
    • 2010-10-31
    相关资源
    最近更新 更多