Java Eclipse:运行带有文件参数和外部JAR的程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Eclipse:运行带有文件参数和外部JAR的程序相关的知识,希望对你有一定的参考价值。
我正在尝试运行以下脚本:https://algs4.cs.princeton.edu/15uf/UF.java
为此,我有:
1)打开Eclipse,创建一个名为UF的新项目,并创建一个名为UF的新类,在该类中我粘贴了上述链接中的代码。
2)根据他们网站上的说明,我保存了他们的JAR文件
/usr/local/algs4/algs4.jar
3)右键单击项目,转到Properties,在Libraries选项卡下有两个字段选项,Modulepath和Classpath。突出显示Modulepath后,单击Add External JARs并导航到algs4.jar的位置。然后我为Classpath做了同样的事情,因为我认为其中一个必须是正确的。
4)此文件用于输入程序:https://algs4.cs.princeton.edu/15uf/tinyUF.txt
所以我在~/Documents
下保存了这个。
5)在Run选项下,我选择Run Configurations,单击Arguments选项卡,然后键入/home/me/Documents/tinyUF.txt
。
6)现在当我运行程序时没有任何反应,我的意思是它绝对没有显示运行的迹象,唯一的例外是当我将鼠标悬停在Run按钮上时它显示“Run(已经运行)”。
7)因此,为了测试目的,我在主函数System.out.println("TEST");
的第一行插入,这次当我运行它时,它显示Eclipse底部的控制台并打印TEST。
8)如果我将System.out.println("TEST");
线向下移动一行以便int n = StdIn.readInt();
首先运行,那么控制台将显示但没有任何打印,程序永远不会停止。
有关正在发生的事情的任何想法?
[编辑:我想我应该注意到我在Linux Mint 18.3 Cinnamon上运行Oxygen.2 Release(4.7.2)。当我按照说明安装Eclipse时,它们看起来有些奇怪,但无论如何我都跟着它们:它指示我制作文件夹/root/eclipse
并安装到该文件夹,所以我做了。
[更新:在与评论者交谈后,我发现我必须将输入文件路径添加到启动配置中。现在我已经完成了,程序正确读入txt文件并输出正确的结果,除了它从不打印最后一行并且永远不会终止程序。看看代码:
public static void main(String[] args) {
int n = StdIn.readInt();
UF uf = new UF(n);
while (!StdIn.isEmpty()) {
int p = StdIn.readInt();
int q = StdIn.readInt();
if (uf.connected(p, q)) continue;
uf.union(p, q);
StdOut.println(p + " " + q);
}
StdOut.println(uf.count() + " components");
}
运行代码时的行为是它成功完成while循环但从未到达行StdOut.print]ln(uf.count() + " components");
。
默认情况下,eclipse根目录是项目的基本目录。因此,如果您在此处以调试模式运行,则您的参数需要包含绝对路径(以驱动器号开头),例如C:/usr/local/algs4/algs4.jar
或者您需要将该文件放在运行程序的同一文件夹中。
只是给/home/me/Documents/tinyUF.txt
告诉程序从当前的位置向下钻取,寻找主目录,我的目录..等等。
给出绝对路径总是更直接,更安全。如果路径将要更改/动态,请允许jar接受参数。检查main()中的参数并将其设置为File inputFile = arg[0]
variable,然后以这种方式处理文件。
以上是关于Java Eclipse:运行带有文件参数和外部JAR的程序的主要内容,如果未能解决你的问题,请参考以下文章