由于 .jar 文件,IntelliJ 程序无法在终端中编译

Posted

技术标签:

【中文标题】由于 .jar 文件,IntelliJ 程序无法在终端中编译【英文标题】:IntelliJ program won't compile in terminal due to .jar file 【发布时间】:2016-10-14 03:51:37 【问题描述】:

我之前使用过更加面向学生的 IDE DrJava,并且在终端/命令行中运行依赖于 .jar 文件的程序没有问题。

现在我正在编写一个简单的程序来在 IntelliJ 中查找矩阵的特征值,尽管我已经按照堆栈溢出问题“将 jar 文件导入 IntelliJ Idea?”中列出的步骤进行操作。添加我作为依赖项使用的 .jar 文件,当我尝试在终端中编译程序时遇到这样的错误:

javac eigenvalues.java
eigenvalues.java:11: error: package Jama does not exist
import Jama.*;
^

等等(不存在更多的诸如此类形式的错误)。

我的程序有多个类,我只需要其中一个的 .jar 文件。

程序在 intelliJ 中编译得很好,只是不能从终端编译。

【问题讨论】:

【参考方案1】:

您可以通过两种方式使其工作: 1.可以尝试将需要的JAR放到ext文件夹中:下面是ext文件夹的路径,然后尝试编译。

On Linux Systems -    /urs/lib/JDK/jre/lib/ext/

On Windows Systems- C:/Program Files/Java/jdk..0.1/jre/lib/ext/

    您也可以将所需 jar 的路径添加到 CLASSPATH 系统变量中。

    您可以通过使用 javac 命令动态提供类路径来编译程序,如下所示:

    javac -classpath "<Path to the JAR>" YourProgram.java
    

    classpath上有一个很好的链接。

希望它可以工作。

【讨论】:

谢谢。我在选项 #1 中找不到文件夹路径(我在 Mac 上,找不到文件夹“ext”)。至于选项#2,我不知道系统变量是什么,虽然学习起来会很好,但我认为它超出了我正在做的范围。所以我尝试了选项#3,它确实编译了,但它不会运行。我收到此错误:线程“main”中的异常 java.lang.NoClassDefFoundError: Jama/Matrix at eigenvalues.main(eigenvalues.java:39) 等。既不是“java -classpath Jama-1.0.3.jar eigenvalues”也不是“java特征值”有效。 (.jar 文件在同一目录中)。 请检查以下答案,这些可能会对您有所帮助。谢谢。 1--> ***.com/questions/18144660/what-is-path-of-jdk-on-mac 2--> ***.com/questions/15826202/…

以上是关于由于 .jar 文件,IntelliJ 程序无法在终端中编译的主要内容,如果未能解决你的问题,请参考以下文章

如何在Intellij中获取文件?

JAR 中的资源未在 IntelliJ 中正确解析

Spring boot JSF可执行JAR找不到xhtml文件

使用 Intellij 为 Java 代码创建 Jar 文件 [重复]

如何在IntelliJ IDEA中检索maven依赖jar包的源码

无法通过 IntelliJ 打开调试器端口