Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Windows命令行上的jar文件的子包中运行类_Java_Eclipse_Command Line_Jar_Command Prompt - Fatal编程技术网

Java 在Windows命令行上的jar文件的子包中运行类

Java 在Windows命令行上的jar文件的子包中运行类,java,eclipse,command-line,jar,command-prompt,Java,Eclipse,Command Line,Jar,Command Prompt,我从eclipse导出了一个jar文件,jar文件中有各种包和带有java类文件的子包 我想在Windows的命令行上运行其中一个嵌套类文件 这个类有一个main,我正在使用下面的命令来运行它 java-classpath/example.jar示例 注意,示例是类和jar的名称 我也试着把课程的完整路径拼出来 java-classpath/example.jar.whole.path.example 如何运行示例类 编辑: 好吧,这有点愚蠢,完整路径不正确。我检查了很多次,但只有当我返回时才注

我从eclipse导出了一个jar文件,jar文件中有各种包和带有java类文件的子包

我想在Windows的命令行上运行其中一个嵌套类文件

这个类有一个main,我正在使用下面的命令来运行它

java-classpath/example.jar示例

注意,示例是类和jar的名称

我也试着把课程的完整路径拼出来

java-classpath/example.jar.whole.path.example

如何运行示例类

编辑:


好吧,这有点愚蠢,完整路径不正确。我检查了很多次,但只有当我返回时才注意到错误。

没有看到您的任何代码或任何输出(提示,提示),很难说发生了什么,但这对我来说是有效的:

$ cat x/y/z/A.java
package x.y.z;

public class A
{
    public static void main(String args[]) throws Exception
    {
        System.out.println("here in A");
    }
}
$ javac x/y/z/A.java
$ jar cvf a.jar x/y/z/A.class
added manifest
adding: x/y/z/A.class(in = 459) (out= 311)(deflated 32%)
$ java -classpath a.jar x.y.z.A
here in A

如果海报或将来阅读本文的人不熟悉Unix,以$开头的行是我在shell中键入的命令,其他所有内容都是这些命令的输出。Eclipse将为您处理前三个问题,然后最后的
java-classpath a.jar x.y.z.a
是执行x.y.z.a类中主方法的命令。

只要运行
java-cp example.jar.whole.path.example
就可以了。如果没有,那么您的JAR文件有问题。类名必须是完全限定的(使用包名),并且指定的类必须具有正确的主方法:

public static void main(String[] args) {

}

检查你的假设是否正确。显示jar的结构,并将其与您尝试运行的内容进行比较:

jar tf example.jar
如果jar包含大量条目,您可能希望grep/查找相关类:

jar tf  example.jar | find /i "Example"

最后一个带有.whole.path.example的示例看起来是正确的。“当你这样称呼它时会发生什么?”玛格德。它跑不了。我可能缺少一些其他依赖项。这是命令的输出吗<代码>java不会运行?@Marged。是的,它无法找到或加载主类。好的,因此我们将尝试获取有关
itwontrunnexception
…;-)的信息我想说的是:请在你的问题中提及完整的错误信息。并提供.jar文件的转储