如何使用已更新的jar文件(使用命令行)

时间:2016-12-03 14:56:25

标签: java jar

我试图使用http://algs4.cs.princeton.edu/code/的jar文件。我已经下载了jar文件,把它放在CLASSPATH中但是每次我尝试在命令行中运行我的程序时,我都会得到消息"包不存在"。

jar文件是algs4.jar

在网站上它说"截至2015年8月17日,"默认包" algs4.jar的版本已替换为"命名包"版。要访问algs4.jar中的类,您需要使用如下所示的import语句:

import edu.princeton.cs.algs4.MinPQ;
import edu.princeton.cs.algs4.StdIn;

" 我认为这是主要问题,因为我不太了解他们在谈论什么(这是我第一次使用jar文件)

代码(二进制搜索):

import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.In;
import java.util.Arrays;
public class BinarySearch
{
    public static int rank(int key, int[] a)
    { // Array must be sorted.
        int lo = 0;
        int hi = a.length - 1;
        while (lo <= hi)
        { // Key is in a[lo..hi] or not present.
            int mid = lo + (hi - lo) / 2;
            if (key < a[mid]) hi = mid - 1;
            else if (key > a[mid]) lo = mid + 1;
            else return mid;
        }
        return -1;
    }
    public static void main(String[] args)
    {

        int[] whitelist = In.readInts(args[0]);
        Arrays.sort(whitelist);
        while (!StdIn.isEmpty())
        { // Read key, print if not in whitelist.
            int key = StdIn.readInt();
            if (rank(key, whitelist) < 0)
                StdOut.println(key);
        }
    }
}

编辑: 我使用的命令:Javac -cp .; edu.princeton.cs.algs4.jar BinarySearch.java

jar文件是algs4.jar而不是edu.princeton.cs.algs4.jar

1 个答案:

答案 0 :(得分:0)

将jar文件放在项目的文件夹中,如果您正在使用Eclipse,那么在Package explorer中找到jar文件,右键单击&gt;构建路径&gt;添加到构建路径。之后,您将能够像任何其他eclipse项目一样使用import语句并正常编译。但是从终端/命令行编译有点棘手。

在这种情况下,编译它的最佳方法是在eclipse中生成一个ANT构建文件。您可以谷歌生成ANT构建文件以及如何使用ANT进行编译。