shell 错误:无法找到或加载主类xxx Linux

ssm49v7z  于 2022-11-16  发布在  Shell
关注(0)|答案(7)|浏览(233)

我对linux环境很陌生。
我正在尝试在linux环境下运行一个简单的hello world java类。

您好.java

package com.util;

    public class Hello {

        /**
         * @param args
         */
        public static void main(String[] args) {
            System.out.println("hi");

        }

    }

我已经在windows环境下编译了java类,并将.class文件上传到linux系统的/home/scripts路径下。
我的命令如下,

java -cp /home/scripts com.util.Hello

当我从Hello.class所在的/home/scripts中执行此命令时,
错误:无法找到或加载主类com.util.Hello,无法继续。
有人能帮我解决这个问题吗?

7vux5j2d

7vux5j2d1#

使用终端导航到/home/scripts

javac com/util/Hello.java

然后

cd /home/scripts
java -cp . com.util.Hello

或者,

java -cp "/home/scripts" com.util.Hello
csbfibhn

csbfibhn2#

首先,您必须生成.class文件:
hello.java
这个命令已经生成了hello.class文件,之后你就可以运行你的类文件了!:)
java问候语

dy2hfwbg

dy2hfwbg3#

我们首先知道javac命令工作得很好。
我也遇到了这个错误,我已经解决了这个问题。让我分享这个。
首先我们需要在java代码中找到包的父路径。
然后使用java package + fileName通过cd转到该路径,此时应该可以正常工作。

am46iovg

am46iovg4#

我在Windows上遇到了完全相同的问题,我通过在CLASSPATH和PATH中添加路径“.”来解决它,也许你也可以在Linux上尝试一下。

06odsfpq

06odsfpq5#

您的.class文件不应该驻留在/home/scripts/中,而应该驻留在/home/scripts/com/util/中。

de90aj5v

de90aj5v6#

在指定路径之前,请确保仔细遵循以下三点:1.*在指定路径之前,关闭 * 命令提示符窗口 。2.在 * 添加路径时,在末尾添加bin和分号 * 以及3.如果JAVAC命令工作正常,请尝试java -cp类名。

lyr7nygr

lyr7nygr7#

如果您希望在类所在当前工作目录中运行程序,则可以使用此方法。
Java提供了三个选项。
第一选项
java -cp测试器
当前工作目录的第二个选项
测试器
第三个选项导出CLASSPATH变量
export CLASSPATH=$CLASSPATH:.(如果目录更改,这是最佳选择)或
导出类路径=$PWD

导出类路径=
之后,您必须获取bashrc或bash配置文件。

相关问题