哪里可以存储Apache Commons Math以及如何实际导入它?

时间:2014-12-07 17:22:34

标签: java apache

这是我第一次尝试使用外部java库。为清楚起见,我使用的是Mac笔记本电脑。我在Emacs编码。
这是我做的:

  • 我从this url下载了二进制文件。
  • 然后我将解压缩的文件夹commons-math3-3.3放入Library/Java/Extension
  • 然后我添加了行import import org.apache.commons.math3; Hello.java
  • 但我收到以下错误:

    error: package org.apache.commons does not exist import org.apache.commons.math3; ^ 1 error

将外部Java库存储到Mac中的正确方法是什么?我很困惑,为什么我导入一个名称与我刚刚下载的文件夹名称不一致的库。 接近这个的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

Library / Java / Extension不适合这个。

Java库依赖项可以放在任何地方,但在典型的Java开发场景中," .jar"文件(以及只有.jar文件)放在项目的子目录中,名为" lib"。

然后,在编译时和运行时,必须使用命令行参数或通过设置CLASSPATH环境变量将这些.jar文件添加到Java的类路径中。

对于非平凡的开发方案,大多数开发人员使用构建工具/依赖关系管理器。 目前流行的工具是Gradle,尽管还有很多Maven和Ant在使用。

参见https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html http://www.gradle.org/http://maven.apache.org/

答案 1 :(得分:1)

如果你正在使用直接javac,你会告诉它有关带有classpath标志的jar文件。

e.g。

javac -cp your_jar_file.jar YourClass.java

然后,当您尝试运行文件时,您需要确保它已添加到类路径中。

java -cp your_jar_file.jar:some_directory_with_class_files YourClass

正如GreyBeardedGeek上面提到的那样,CLASSPATH变量是一种方法,尽管命令行上的-cp标志也可以工作。

这很快就会变得很麻烦,这也是IDE变得流行的原因。他们为你管理这类事情。虽然并不总是很好,但这就是为什么像Ant和Gradle这样的构建工具存在并且仍然很受欢迎的原因。

如果您只是学习Java,那么使用IDE很不错,因为您可以专注于学习Java而不是使用类路径。