Java命令行Jar文件

时间:2010-01-20 16:29:55

标签: java command-line jar

我创建了一些.jar文件(使用Eclipse的导出功能),但它们都是GUI。我想创建一个严格命令行的.jar文件;这有可能吗?

5 个答案:

答案 0 :(得分:8)

没有“GUI jar”或“命令行jar”这样的东西。如果您希望程序在命令行上运行,那么您可以从System.in和System.out或文件中读取和写入,而不是使用Swing或AWT。

另一方面,如果你在询问如何在命令行上创建一个jar,那么命令就是“jar”。与jar cf foo.jar com/my/foo/*.class

中一样

答案 1 :(得分:4)

是的,可以用Java创建一个控制台程序。 Eclipse甚至还有一个Runnable JAR文件导出。

我刚创建了一个虚拟应用程序,它打印出命令行中给出的参数,然后将其导出为jar并使用java -jar test.jar foo bar启动它

package com.stackoverflow;

public class Test
{
  public static void main(String[] args)
  {
    for (int i = 0; i < args.length; ++i)
      System.out.println(args[i]);
  }
}

然后右键单击Eclipse中的Test.java文件并使用“导出...”菜单并选择“Runnable JAR file”并将其导出为C:\test.jar

然后打开命令提示符并键入打印出来的java -jar C:\test.jar foo bar

  

FOO
  杆

答案 2 :(得分:3)

是的,您可以使用类似于以下命令行的程序运行程序

java -jar <JARFILE> <CLASSNAME>

您可能必须指定-cp <DIRECTORY>-classpath <DIRECTORY>将其指向您需要的任何其他广告罐。

答案 3 :(得分:1)

我不确定你在问什么,但一切都取决于你的代码。

如果您的Java代码使用JFrame和其他GUI组件,那么是的,当您创建jar时,您将拥有一个GUI程序。

如果您的Java代码只是在屏幕上打印而不使用任何GUI组件,那么您将拥有一个控制台应用程序。

答案 4 :(得分:1)

为了自动化我建议使用Ant jar task。 Ant构建文件如下所示:

<project default="buildHello">
  <target name="compile">
    <javac srcdir="." />
  </target>

  <target name="jar" depends="compile">
    <jar destfile="hello.jar"
         basedir="."
         includes="**/*.class"
         />
  </target>

  <target name="buildHello" depends="compile,jar" />
</project>

只需输入ant即可开始。 Eclipse也有Ant支持。

> ant jar
Buildfile: build.xml

compile:

jar:
      [jar] Building jar: /Dev/hello.jar

BUILD SUCCESSFUL
Total time: 2 seconds