我已经下载了两个罐子.我想导入一些包含的类.我该怎么做呢?
这是我的算法类.我试过按照以下网站上的说明无济于事.
http://algs4.cs.princeton.edu/code/
有一个OSX的安装程序(我正在运行Mountain Lion)据称将jar放入你的类路径.不幸的是,它还安装了Java博士.我宁愿只使用Sublime和Terminal.我认为这很简单......
import java.stdlib;
Run Code Online (Sandbox Code Playgroud)
在我的Percolation.java文件中,但javac-ing该程序产生"包stdlib不存在",就像
import stdlib;
Run Code Online (Sandbox Code Playgroud)
我通过以下方式手动将stdlib.jar和algs4.jar的位置添加到终端CLASSPATH:
export CLASSPATH=$CLASSPATH:/Users/Michael/path/to/jar/algs4.jar:/Users/Michael/path/to/jar/algs4.jar
export CLASSPATH=$CLASSPATH:/Users/Michael/path/to/jar/stdlib.jar:/Users/Michael/path/to/jar/stdlib.jar
Run Code Online (Sandbox Code Playgroud)
我也试过了
javac -cp $CLASSPATH:/Users/Michael/path/to/jar/algs4.jar:/Users/Michael/path/to/jar/stdlib.jar Percolation.java
Run Code Online (Sandbox Code Playgroud)
但我还是得到了
javac Percolation.java
Percolation.java:1: cannot find symbol
symbol : class stdlib
location: package java
import java.stdlib;
^
Percolation.java:2: package java.algs4 does not exist
import java.algs4.WeightedQuickUnionUF;
^
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
还有一种方法可以将这些值永久地添加到OS X山狮的CLASSPATH中.我必须在每个新终端上执行该命令.
如果您使用终端来编译和启动您的程序,那么在终端窗口中,首先设置CLASSPATH:
$ export CLASSPATH=$CLASSPATH:/Users/Michael/path/to/jar1.jar:/Users/Michael/path/to/jar2.jar
Run Code Online (Sandbox Code Playgroud)
然后您可以键入echo $CLASSPATH并查看 jars 是否被引用。
现在,在同一个终端窗口中,使用 javac 编译您的类。CLASSPATH如上设置仅适用于当前终端窗口和从它启动的任何进程。
或者,您可以将 传递CLASSPATH给 javac:
$ javac -cp $CLASSPATH:/Users/Michael/path/to/jar1.jar:/Users/Michael/path/to/jar2.jar MyClass.java
Run Code Online (Sandbox Code Playgroud)
要CLASSPATH为以后的终端会话保留此内容,请将export上面的行添加到主目录中的.profile文件中。
| 归档时间: |
|
| 查看次数: |
13504 次 |
| 最近记录: |