如何在Windows 7命令行中执行.jar Java程序?

5

我在网上查找了很多资料,但是还没有找到一个好的答案。我想执行YUI压缩工具来混淆/精简我的javascript文件。我已经安装了JRE。

从这里看来,文件关联是没问题的:

C:\directory\tempFiles>assoc .jar
    .jar=jarfile

我使用 ftype 设置文件关联:

我使用 ftype 设置文件关联:

C:\directory\tempFiles>ftype jarfile
     jarfile="C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*

压缩工具被保存为.jar文件,名为"yuicompressor-2.4.6.jar"。

当我尝试运行.jar文件时,命令提示符一直显示单词'java'不被识别为内部或外部命令... 这是我运行它的方式:

C:\directory\tempFiles\yuicompressor-2.4.6\build>java -jar yuicompressor-2.4.6.jar [options] [input file]

任何帮助都将不胜感激,谢谢。


以下是将编程相关内容从英语翻译成中文的步骤,仅返回翻译后的文本: - Entree
7个回答

5

将JDK / JRE的bin文件夹路径添加到您的PATH中。请参见此处


3

如何运行jar文件

打开命令提示符。

运行下列命令之一:

C:\Program Files\Java\jdk1.7.0_21\bin>javaw.exe -jar D:\yourfile.jar

C:\Program Files\Java\jdk1.7.0_21\bin>java -jar D:\yourfile.jar

容易。

2

环境变量 PATH 需要包含 JAVA_HOME/bin。通常情况下,使用 Windows 安装程序安装 JDK 时会自动完成此操作。

但是,如果您只安装了 JRE - 实际上这就足够了,您需要手动更改 PATH 变量。


0

Java提供了jar提取器...所以你可以直接进入bin文件夹并将jar文件粘贴在那里。

然后打开命令提示符... 进入bin目录,然后使用以下命令:

jar xf jar-file (name of your jar file)

希望这可以帮到你。

这是做什么的?它的目的是什么?它完成了什么? - Andrew

0

步骤1

创建一个批处理文件(例如:script.bat),并将其放置在此文件夹中:

C:\Users{user}\Downloads\yuicompressor-2.4.7\yuicompressor-2.4.7\build

步骤2

然后将您想要合并的所有JavaScript文件和合并文件的输出文件名放入script.bat文件中:

java -jar yuicompressor-2.4.7.jar droplinemenu.js effects.js jquery-1.4.4.min.js jquery-ui-1.8.10.custom.min.js --type js -o combined.js

步骤3

以管理员身份运行script.bat


-1
我的解决方案结合了上面的答案,我的目标是通过命令提示符启动名为CombatLogReader.jar的.jar文件,并与游戏Star Trek Online.exe一起启动。开始时,我输入了 Start "" ""C:\Program Files (x86)\Steam\SteamApps\common\Star Trek Online\CombatLogReader\CombatLogReader.jar",但该文件未能启动,当我研究为什么我可以手动启动该文件但无法通过cmd启动时,我的研究引导我来到这里,
我修改了我的批处理文件以指向Java目录
这是我的批处理文件长这样:
@echo off
rem Star Trek Online
START "" "C:\Program Files (x86)\Steam\SteamApps\common\Star Trek Online\Star Trek Online.exe" 
rem CombatLogReader
CD "C:\Program Files (x86)\Java\jre7\bin"
javaw.exe -jar "C:\Program Files (x86)\Steam\SteamApps\common\Star Trek Online\CombatLogReader\CombatLogReader.jar"
exit

它可以工作了,现在我只需要一个图标就能启动所有需要的东西。 命令提示符会一直保持打开状态,直到CombatLogReader关闭,但不会干扰任何操作。

向所有发布答案片段的人致敬。


1
如果你删去所有与游戏相关的内容和未能解决问题的部分,那么这个答案就会更好,因为它会专注于解决问题的方法。 - skrrgwasme

-2

我尝试了这个方法,它起作用了。我只需将我的Java文件复制到目录C:\Program Files (x86)\Java\jre7\bin中,因为我已经安装了JDK 7,并且我正在运行64位机器:你的情况可能是C:\Program Files\Java\jreX\bin,具体取决于你正在运行哪个版本的Java。

然后我启动了命令提示符,以管理员身份运行,并通过在命令提示符中输入以下内容来简单地更改目录到C:\Program Files (x86)\Java\jre7\bin:

cd C:\Program Files (x86)\Java\jre7\bin

这将在命令提示符下更改目录到上述目录,然后我运行了以下命令:

java -jar myjavaprogram.jar

我的Java可执行文件成功启动了。错误是因为系统无法在当前命令提示符所在的文件夹中找到java.exe,因此您需要将其更改为C:\Program Files (x86)\Java\jre7\bin,具体取决于您安装的Java版本和计算机的位数。


4
不要把你的源代码放在JRE的目录里! - Andrew Thompson

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