gpt4 book ai didi

java - 无法通过命令行启动 Java 应用程序

转载 作者:行者123 更新时间:2023-11-30 03:22:13 25 4
gpt4 key购买 nike

所以我在 Eclipse 中有一个 Maven 项目,我通常可以通过运行为 > Java 应用程序启动它。但是,如果我尝试通过“java TestServer”从命令行从目标目录启动类文件,它将无法工作。它说它无法找到或加载主类。如果我用一个简单的虚拟 hello world 替换源代码并执行,那么它就可以正常工作。

该代码有两个 Maven 依赖项。

简单的虚拟:

public class HelloWorld {

public static void main(String[] args){
System.out.println("hello world!");

}
}

为什么会发生这种情况?嵌套类有问题吗?为什么找不到代码的主类,而是找到一个小虚拟类?

最佳答案

问题出在类路径上。

Maven 不负责从 Eclipse 工作区运行项目因为 Eclipse 拥有自己的 .project文件,其中包含所有类路径条目。当您使用Run As时,Eclipse只使用其.project的所有类路径配置文件。

要从控制台启动java程序,您需要将类路径设置为bintarget目录以及项目引用的所有库(“jar”)。正确设置类路径后,您可以使用 java <qualified classname> 启动程序。以这种方式启动程序根本没有使用 Maven 的任何功能。

看看这里使用Maven https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Maven 将创建一个库 jar其中包含项目的所有类。您可以将类路径设置为生成的库并使用java <qualified classname>启动您的程序

根据评论进行编辑

这是使用 Windows 操作系统设置类路径的示例安慰。您也可以将此行放入适当的 Windows 批处理 (.bat)文件并启动您的程序,

set classpath = .;log4j.jar;lib/any-other-lib.jar
java org.<whatever>.MyProgram

有关在其他操作系统上设置类路径的更多信息,您还可以查看 setting Java Classpath in linux?

关于java - 无法通过命令行启动 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com