没有 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?添加外部罐子?添加图书馆?