我将首先在Windows 7上说我。
我创建了一个.jar文件,它使用-java -jar myJar.jar方法从命令行执行得很好
但我所追求的是能够双击jar文件并打开命令提示符窗口并在命令提示符下运行,就像我刚输入java -jar myJar.jar一样线。
当我双击jar文件时,我认为它正在运行,因为java的可视部分正在出现,但是没有显示我的控制台输出的命令提示符窗口。
环顾四周后,我发现人们说java文件与jar文件相关联,没有控制台,我需要将jar文件与java.exe而不是javaw.exe相关联。我试过这个,但似乎没有用。
有人可以帮忙吗?一步一步会很好。
答案 0 :(得分:8)
我有同样的问题,蝙蝠文件的想法是天才,并节省了我很多时间重写代码。谢谢!(我会投票,但显然我没有足够的代表。)
批量(或蝙蝠)文件非常容易制作。
只需将java -jar YourFile.jar
放入记事本(如果您在Windows上),另存为Title.bat
,并放入与jar相同的文件夹中。
变!一个公众可以开放的程序。
答案 1 :(得分:2)
这是恕我直言,不可能。您可以从应用程序本身open the console,但这是依赖于操作系统的。如果您需要打开控制台,则必须像以前一样从中运行应用程序。
答案 2 :(得分:1)
如果要显示命令行,则必须使用命令行启动jar。
java -jar MyJar.jar
答案 3 :(得分:1)
我会做这样的事情:
(在带有JRE 1.6的Widows XP中测试,为了支持其他操作系统,您应该验证每个操作系统的路径并选择适当的控制台模拟器(xterm
,gnome-terminal
...(检查是否存在偏好...)))
public static void main(String[] args) throws Exception {
if (args.length == 0) {
String path = Main.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(1);//Adds extra slash (??) didn't know why
String decodedPath = URLDecoder.decode(path, "UTF-8");
System.out.println(decodedPath);
Runtime.getRuntime().exec("cmd /c start java -jar \"" + decodedPath + "\" actual_run");
}
else {
System.out.println("Hello World");
JOptionPane.showMessageDialog(null, "Hello World");
System.in.read();
}
}
答案 4 :(得分:1)
或者我建议使用以下内容创建一个bat文件:
java -jar yourjar.jar
这将启动你的jar并自动打开命令提示符,只需双击bat文件即可。 (bat文件需要与jar文件位于同一文件夹中,否则你需要指定jar的路径,而不仅仅是jar名称)
答案 5 :(得分:1)
这是初学者最简单的解决方案:
写下这两行:
java "yourmainclassname"
pause
将该文件另存为"名称" .bat
(当然这个新创建的.bat文件必须与.class在同一个文件夹中)
答案 6 :(得分:0)
..但是没有显示我的控制台输出的命令提示符窗口。
不可能不是可执行Jar的控制台。您需要将该输出放在GUI中。
答案 7 :(得分:0)
检查您的MANIFEST.MF
如果此字段消失,则打开原始MANIFEST.txt以获取此点: Main-Class:YourMainClassHere 必须以新行或回车结尾