Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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程序无法使用命令行运行_Java_Intellij Idea - Fatal编程技术网

Java程序无法使用命令行运行

Java程序无法使用命令行运行,java,intellij-idea,Java,Intellij Idea,短篇故事: 当我通过Intellij运行java应用程序时,一切正常 当我通过命令行运行它时,我遇到了一些问题 长话短说: 首先,我必须说,我的项目中有一个“lib”文件夹,里面有我需要的所有jar,我将它作为库添加到项目中 当我从命令行编译它时,我必须在lib文件夹中指定一个'-cp',否则它不会加载jar。尽管看起来不错,但当我运行java应用程序时,出现了一个错误:找不到或加载主类awsUpdater'错误 我的命令: 编撰- javac -cp "../../../../lib/*" a

短篇故事: 当我通过Intellij运行java应用程序时,一切正常

当我通过命令行运行它时,我遇到了一些问题

长话短说: 首先,我必须说,我的项目中有一个“lib”文件夹,里面有我需要的所有jar,我将它作为库添加到项目中

当我从命令行编译它时,我必须在lib文件夹中指定一个'-cp',否则它不会加载jar。尽管看起来不错,但当我运行java应用程序时,出现了一个
错误:找不到或加载主类awsUpdater'
错误

我的命令: 编撰-

javac -cp "../../../../lib/*" awsUpdater.java
执行-

java -cp "../../../../lib/*" awsUpdater
这是我的课(除了方法)


如果您能帮助我通过命令行编译和执行我的程序,我将不胜感激。谢谢

您需要添加包名

java -cp "../../../../lib/*" AWSUpdater.awsUpdater

我注意到类
awsUpdater
在包
awsUpdater
下,因此不能直接使用
java-cp.../../../../../lib/*“awsUpdater
。 例如: 我创建了这样一个项目:

|-test
  |-AWSUpdater
    |-awsUpdater.java
package AWSUpdater;

public class awsUpdater {
    public static void main(String[] args) {
        System.out.println("hello");
    }
}
awsUpdater.java
的详细信息:

public class awsUpdater {
    public static void main(String[] args) {
        System.out.println("hello");
    }
}
然后(现在我在
测试/AWSUpdater
):

一切顺利

如果我将类添加到包中,如下所示:

|-test
  |-AWSUpdater
    |-awsUpdater.java
package AWSUpdater;

public class awsUpdater {
    public static void main(String[] args) {
        System.out.println("hello");
    }
}
然后(现在我在
测试/AWSUpdater
):

在这里,它将得到与您相同的错误

现在,您可以转到包的根目录。(这里是
测试
),然后:

javac AWSUpdater/awsUpdater.java
java AWSUpdater/awsUpdater

现在,您将得到正确的结果。

该类中有main方法吗?那门课是打包的吗?您将需要提供更多的信息失败原因的可能性如此之多…除了不重要的方法@Stultuskejava-cp.../../../../../../lib/*“awsUpdater”之外,还添加了我的代码。。。这应该如何进入包AWSUpdater?类名是
AWSUpdater.AWSUpdater
。这就是您必须传递给
java
的内容。除了jar文件之外,包含类文件的根目录也必须位于类路径中,否则java可能无法找到它们。您还应该学习并尊重Java命名约定。包都是小写的。课程以大写字母开始。感谢您的回复,但它不起作用。我可以这样编译:javac-cp“../../../lib/*”AWSUpdater/AWSUpdater.java。但是我无法按您的状态执行,所以您使用了这个命令
javac-cp../../../../../lib/*“AWSUpdater/AWSUpdater.java
在键入cd../之后运行这个
java-cp../../../../../lib/*“AWSUpdater.AWSUpdater
编译工作,执行不工作,我收到以下错误
错误:无法找到或加载主类AWSUpdater.AWSUpdater
能否添加目录结构以及运行命令的目录您可以尝试
java-cp../../../../lib/*“AWSUpdater/AWSUpdater
javac AWSUpdater/awsUpdater.java
java AWSUpdater/awsUpdater