在的System.out.println罐子(System.out.println in jar)

2019-09-16 20:58发布

我有我想要一个jar包内这个java程序。 它编译罚款,并没有错误编译成一个罐子。 但是,当我双击它,它不会启动。 我知道大多数的jar应用程序使用的JFrame和工作正常。 但是,它可能使命令提示符/壳基础? (像显示的System.out.println)

实施例是有可能通过双击一个罐子执行该代码:

public class Hello
{

  public static void main( String[] args )
  {
    System.out.println( "Hello, World!" );
  }
}

Answer 1:

这是没有问题做的那样。 但是,你在哪里希望看到输出?

如果您从控制台执行作为java -jar my jar.jar你会看到你的“你好,世界”。

如果你想双击你需要创建一个JFrame。



Answer 2:

您可以更改jar文件的文件关联,让他们打开控制台。 (这是Windows)

  • 打开命令处理器
  • 键入ftype jarfile
  • 你会得到这样的:

jarfile="C:\Path\To\Java\bin\javaw.exe" -jar "%1 %*"

  • 输入ftype jarfile "C:\Path\To\Java\bin\java.exe" -jar "%1" %* (您可能需要管理员权限才能做到这一点)。


Answer 3:

我没有看到有人提了明显的解决方案:让一个.cmd(或.bat)包含的命令文件大家都在谈论- java -jar YourJar.jar 。 在.cmd文件,您可以双击和控制台窗口将打开。 这也将关闭imediately为你的程序退出,所以程序在退出前应等待一个按键。



Answer 4:

当然。 首先尝试运行您的程序如下:

java -cp yourjar.jar Main

其中,主要是你的主类的完全限定类名。

当这是工作的罚款,如果你creted exacutable罐子尝试运行您的程序如下:

java -jar yourjar.jar

当这是工作双击应太,除非你映射扩展jar编程比其他javaw由默认,当您安装JRE完成。



Answer 5:

如果你想显示“你好,世界!” 字符串,你必须在命令行中执行代码:

   jar -jar your_jar_name.jar


Answer 6:

输出被转发到控制台,但不偏食,不存在任何! 解决这个问题的唯一办法是在启动的命令提示符的程序,然后你会得到从程序的输出。



Answer 7:

您可以通过包括其中包含有你的主要方法(在​​你的榜样,这将是你好)类的名称清单文件做一个罐子里的可执行文件。 下面是详细说明你需要做的的链接。



文章来源: System.out.println in jar