Java没有IDE运行外部jar?

时间:2014-08-01 03:50:09

标签: java

我编写了一个用jxl.jar读取excel文件的java程序。它目前正在运行,但我必须使用cmd来运行该程序。双击jar文件似乎不起作用。这些是我用来编译和运行代码的命令:

javac -classpath C:/workspace/jxl.jar:. main.java GUi.java

jar cvfm run.jar manifest.txt Main.class GUI.class GUI$1.class GUI$2.class GUI$3.class Main$1MyCustomTableCellRenderer.class Main$1YourTableCellRenderer.class Main$MyCustomTableCellRenderer.class

java -cp run.jar Main

我不确定为什么与双击它有什么不同。我已经将jxl文件编译到run.jar文件中,所以我不明白为什么它不起作用?

2 个答案:

答案 0 :(得分:1)

示例直接来自Adding Classes to the JAR File's Classpath上的 Java Tutorial ,正如@MadProgrammer在评论中所建议的那样。

我们希望将MyUtils.jar中的类加载到类路径中,以便在MyJar.jar中使用。这两个JAR文件位于同一目录中。

我们首先创建一个名为Manifest.txt的文本文件,其中包含以下内容:

Class-Path: MyUtils.jar

警告:文本文件必须以新行或回车符结束。如果最后一行没有以新行或回车结束,则不会正确解析。


然后我们通过输入以下命令创建名为MyJar.jar的JAR文件:

jar cfm MyJar.jar Manifest.txt MyPackage/*.class

这将创建一个带有以下内容的清单的JAR文件:

Manifest-Version: 1.0
Class-Path: MyUtils.jar
Created-By: 1.7.0_06 (Oracle Corporation)

当您运行MyUtils.jar时,MyJar.jar中的类现已加载到类路径中。

Read more...

答案 1 :(得分:0)

在命令提示符下尝试:

如果将jar与所有库捆绑在一起,请运行以下命令

java -jar MyJar.jar

如果您需要在执行时添加jar,请在命令行添加所有jar,如下所示;

java -cp /path/jxl.jar;myJar.jar Class-Name-Main