jar中的System.out.println

时间:2012-04-29 16:05:29

标签: java class command-line jar

我有这个java程序,我想在jar中打包。 它编译得很好,它可以毫无错误地编译成jar。但是,当我双击它时,它不会启动。我知道大多数jar应用程序都使用JFrame,并且工作正常。但它是否可以使命令提示符/ shell为基础? (如显示System.out.println)

示例是可以通过双击jar来执行此代码:

public class Hello
{

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

7 个答案:

答案 0 :(得分:10)

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

如果您从控制台执行java -jar my jar.jar,您将看到“Hello,World”。

如果要双击,则需要创建JFrame。

答案 1 :(得分:5)

您可以更改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" %*(您可能需要管理员权限才能执行此操作)。

答案 2 :(得分:2)

我没有看到任何人提到明显的解决方案:制作一个包含每个人都在谈论的命令的.cmd(或.bat)文件 - java -jar YourJar.jar。您可以双击.cmd文件,将打开一个控制台窗口。它会在您的程序退出时立即关闭,因此程序应该在退出之前等待按键。

答案 3 :(得分:0)

不确定。首先尝试运行您的程序如下:

java -cp yourjar.jar Main

其中Main是主类的完全限定类名。

当这个工作正常时,如果你创建了 exacutable jar,请尝试运行你的程序,如下所示:

java -jar yourjar.jar

当这项工作正常时双击也应该有效,除非您将扩展名jar映射到安装JRE时默认执行的javaw以外的程序。

答案 4 :(得分:0)

如果你想显示“Hello,world!”字符串您必须从命令行执行代码:

   jar -jar your_jar_name.jar

答案 5 :(得分:0)

输出转发到控制台,但没有eclipse,没有任何!解决此问题的唯一方法是在命令提示符下启动程序,然后您将从程序中获取输出。

答案 6 :(得分:-1)

您可以通过包含清单文件使jar成为可执行文件,该清单文件包含具有main方法的类的名称(在您的示例中为Hello)。 Here是一个详细说明您需要执行的操作的链接。