繁体   English   中英

Java-如何在Windows中运行控制台程序

[英]Java - how to run console program in windows

嗨,我用Java编写了wordquiz程序。 在Unix中使用Eclipse。 在我的linux机器上,它工作正常。 这是源代码https://github.com/HighlanderGe/Words因此,仅使用基本软件包。 在Windows中,jar等代码的编译不会运行。 在Mac中都不是。 我猜问题是,在Linux中它是从控制台运行的,而控制台对于Linux来说是非常原生的,但是在Windows中,我认为在Mac中也应该调用cmd,然后以某种方式运行它。我敢打赌cmd不知道什么是java。 所以需要一些Java控制台吗?

问题不在于Mac或Windows,问题在于您没有在Eclipse上以不同的方式在其他计算机上设置工作区。

您可以以相同的方式在所有环境中的命令行上构建程序。 您只需要知道正确的步骤。

首先, WordDatabase第25行的代码中有错误。 代替:

dictionary = new ArrayList<>();

它应该是:

dictionary = new ArrayList<String>();

之后,您可以像这样构建代码:

javac -d . *.java

并像这样运行它:

java wordquizz/Wordquizz

这应该在具有Java的任何系统中都有效,您只需要弄清楚如何在不同计算机上以相同的方式在Eclipse中设置工作区即可。

UPDATE

我分叉并将您的项目转换为Maven项目:

https://github.com/janosgyerik/StackOverflow-Words

将其克隆到PC后,可以使用File | File导入到Eclipse 导入...菜单,然后选择现有Maven项目选项。 它应可在所有操作系统上运行。

Maven是用于构建Java项目的推荐工具,这是一件好事。 安装maven之后,可以使用以下命令构建项目:

mvn compile

您可以使用以下命令将项目打包到一个jar文件中:

mvn package

您可以使用以下两个命令之一运行代码:

# needs 'mvn compile' first to generate classes
java -cp target/classes/ wordquizz.Wordquizz

# needs 'mvn package' first to generate the jar
java -cp target/wordquizz-1.0-SNAPSHOT.jar wordquizz.Wordquizz 

如果您喜欢这些改进,请尽快从我的仓库中合并。 我不会永远保留它,有时会删除它。

更新2

为了使jar可执行文件,您需要在清单文件中添加如下代码:

Main-Class: wordquizz.Wordquizz

您可以使用以下命令创建jar文件:

jar cvfm package.jar manifest.txt wordquizz/*.class

我更新了GitHub存储库,现在,如果您运行mvn package ,它将自动添加正确的清单,并且生成的jar文件将是可执行的。

如果在Windows下安装Java,则必须调整Path变量,因此cmd知道Java可执行文件在哪里。 有关如何进行此设置的很好的教程,您可以在这里找到:

http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

之后,您可以简单地转到源代码所在的目录,并使用与Linux下相同的命令来编译和运行您的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM