在命令行中运行jar文件

4
我看到了很多帖子和网络上的数据,但我仍然感到困惑。
我已经下载了一个.jar文件,需要增加其堆大小。我已将jre1.6/bin添加到Windows 64位的路径中,并从cmd中运行。
问题出在它说无法访问jar文件。
有人能详细解释一下我应该如何从cmd运行吗?我需要把jar文件的位置也添加到路径中吗?此外,我注意到在许多帖子中,他们告诉要更改classpath,但我没有做任何这样的事情。
如果需要任何额外信息,请告诉我。
(更新)
这真的很奇怪......我按照这里所述的做了,现在程序加载然后退出,显示内存不足错误,即使之前使用128m堆大小也可以工作。当我将其增加到1024m时会发生这种情况。有人能解释为什么会出现这个错误吗?我有3GB RAM,所以我不明白为什么会这样。

2
告诉我们你尝试过的命令... - Jeremy
请展示你已经尝试过的内容(包括每个文件的路径)。 - KevinDTimm
  1. 你正在运行的确切命令是什么?
  2. 运行该命令后的确切输出是什么?
- Jonathon Faust
1
好的,文件位于C:\Program Files\Weka-3-6,我运行的命令是"java -jar weka.jar"。实际命令中我没有加引号。这是我在Weka-3-6目录内执行的。输出显示无法访问jar文件。 - user506710
请使用“编辑”链接编辑您的问题,而不是发表评论。 - Jonathon Faust
2个回答

15
以下内容应该可以运行jar文件:
java -Xmx1024m -jar /path/to/the/jar.jar

如果你正在运行命令的目录中,可以直接按名称指定Jar文件。否则,为了让Java能够找到它,你需要限定Jar文件的路径。


1
-Xmx参数不应该放在-jar之前吗?否则,它将被视为应用程序参数而不是VM参数。 - mhaller
1
你需要指定jar文件的完整路径,即目录不能简单地在CLASSPATH中。 - justin
@jjnguy 我尝试在没有 "-Xmx1024m" 的情况下运行 jar 文件。它可以正常工作,那么 "-Xmx1024m" 参数到底是做什么的?因为我可以在没有它的情况下运行 .jar 文件,但是它也可以与之一起工作。我很困惑 :/ - Luis Pena
1
@LuisAlberto Xmx 命令告诉 JVM 使用最多 'm' 兆字节的内存。如果不使用 Xmx 标志,我不确定默认值是什么,但通常可能会太小。 - jjnguy
谢谢@jjnguy,现在我完全明白了。 - Luis Pena
显示剩余2条评论

2

从您的 "C:\Program Files\Weka-3-6" 文件夹中:

java -Xmx1024m -jar weka.jar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接