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