没有 IDE 时如何在项目中添加/引用 .jar 文件

Posted

技术标签:

【中文标题】没有 IDE 时如何在项目中添加/引用 .jar 文件【英文标题】:How to add/reference .jar files in your project when you don't have an IDE 【发布时间】:2011-01-19 07:46:17 【问题描述】:

我是 Java 新手(基本上是 LAMP 开发人员)。我得到了这个 JAVA API 来解析.pst 文件并显示所有收件箱消息。

我尝试执行给定的.class 文件,但它会引发异常。我需要添加/引用 API 提供的一些 .jar 文件。

我还没有任何 Java IDE。 Wikihow 说

当您的 Java 项目需要 JAR 时 要运行的库,您必须 配置您的项目以包含 其构建路径中的库。 幸运的是,Eclipse 做到了这一点 过程简单易记。 这里使用的构建是 Eclipse Java - 木卫三 3.4.0。

那么,我需要做什么配置?还是获取 Eclipse IDE 更好?我只有一个要执行的.class 文件。

我检查但无法得到答案的其他一些问题 - How to add external jar libraries to an android project from the command line

How do I include external JARs in my own Project JAR

【问题讨论】:

你真的应该让 Eclipse 或 Netbeans 来帮助你编程。与 php 相比,Java 中的 IDE 真的很棒! 【参考方案1】:

你应该把它们放在你的类路径中,比如

java -classpath someJar.jar YourMainClass

当然,你也可以对 javac 做同样的事情。

如果您的类路径中需要有多个 jar 或目录,则需要使用平台的默认 path separator。例如,在 Windows 上,

java -classpath someJar.jar;myJar.jar YourMainClass

顺便说一句,您可能会发现使用 IDE 来管理这类东西更容易。我个人只使用了我的稍微可编写脚本的编辑器并且管理得很好。但是很高兴知道如何通过命令行来做这些事情。

【讨论】:

并确保使用完全限定的类名。您的主要课程可能更像 com.myco.bubu.YourMainClass 感谢 Zach L 的回答。我仍在努力执行 .class 文件。根据 API 人员的说法,只需要引用一个 .jar 文件。即使在将classpath 添加到编译和执行命令之后,我在执行命令中也遇到异常-Exception in thread "main" java.lang.NoClassDefFoundError: /opt/Java/libs/JPST/examples/GetInboxMessages/bin/Example Caused by: java.lang.ClassNotFoundException: .opt.Java.libs.JPST.examples.GetInboxMessages.bin.Example ...。任何指针?编译命令可以正常生成 .class 文件 我知道不看代码就很难回答这个问题,但我只需要确保我已经正确添加/引用了 .jar 依赖项。我做了javac -classpath /opt/Java/libs/JPST/lib/jpst.jar;/opt/Java/libs/JPST/lib/mail.jar /opt/Java/libs/JPST/examples/GetInboxMessages/src/Example.java 然后java -classpath /opt/Java/libs/JPST/lib/jpst.jar /opt/Java/libs/JPST/examples/GetInboxMessages/bin/Example 如果这是正确的,那么问题可能是别的。 我不确定,但最后一部分是班级名称吗?您不需要将整个路径放在班级前面。您只需输入它所属的 的名称(就像 Jochen 所说的那样),例如 `java -classpath /opt/.../jpst.jar nameofpackage.Example 这并没有解决我的问题。我只有一个需要引用的 .JAR 文件,尽管引用错误仍然存​​在......奇怪的是编译不会产生任何错误,运行会产生引用错误。基本上,我和@SandeepanNath 有同样的问题【参考方案2】:
javac -cp yourjar.jar YourClass.java

&

java -cp yourjar.jar YourClass

你需要让所有需要的 jar 在 classpath 中可用,你可以这样做

【讨论】:

life.java:+1。我仍在努力执行.class 文件。根据 API 人员,只需要引用一个 .jar 文件。即使在将classpath 添加到编译和执行命令之后(就像你说的那样),我也会遇到Exception in thread "main" java.lang.NoClassDefFoundError: /opt/Java/libs/JPST/examples/GetInboxMessages/bin/Example Caused by: java.lang.ClassNotFoundException: .opt.Java.libs.JPST.examples.GetInboxMessages.bin.Example ... 这样的异常。有什么指点吗? 我知道不看代码就很难回答这个问题,但我只需要确保我已经正确添加/引用了 .jar 依赖项。我做了javac -classpath /opt/Java/libs/JPST/lib/jpst.jar;/opt/Java/libs/JPST/lib/mail.jar /opt/Java/libs/JPST/examples/GetInboxMessages/src/Example.java 然后java -classpath /opt/Java/libs/JPST/lib/jpst.jar /opt/Java/libs/JPST/examples/GetInboxMessages/bin/Example。如果这是正确的,那么问题可能是其他问题

以上是关于没有 IDE 时如何在项目中添加/引用 .jar 文件的主要内容,如果未能解决你的问题,请参考以下文章

在maven中引用其他项目作为jar包,pom文件中已成功,但会报出如图的问题,请问怎么解决?

java引包问题 ,如果我没装IDE,用纯记事本编写java程序,如何引入第三方jar包?谢谢!

Eclipse IDE - 添加 jar?添加外部罐子?添加图书馆?

如何将JAR包加入到项目的库中引用

解决: Intelij IDEA 创建WEB项目时没有Servlet的jar包

用maven打包jar项目其中很多模块引用了相同jar包,如何把它些jar公用,让maven打包不把这公用包打进去