13

我对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 并且无法继续进行。

有人可以在这个问题上帮助我吗?

4

7 回答 7

16

使用终端导航到 /home/scripts

javac com/util/Hello.java 

然后

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

或者,

java -cp "/home/scripts" com.util.Hello   
于 2013-07-19T10:30:47.097 回答
2

首先你必须生成你的 .class 文件:

javac ./hello.java

这个命令已经生成了 hello.class 文件,之后你就可以运行你的类文件了!:)

你好

于 2013-07-19T10:15:37.250 回答
2

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

于 2014-02-07T22:56:59.330 回答
1

我们首先知道 javac 命令运行良好。

我也遇到了这个错误,我已经解决了。让我分享一下。

首先我们需要在你的java代码中找到你的包的父路径。

然后使用 java package + fileName cd 到该路径应该可以正常工作。

于 2013-09-30T07:40:52.023 回答
0

您的.class文件不应驻留/home/scripts//home/scripts/com/util/. 看看这个解释类路径、包和目录之间关系的文档。

于 2013-07-19T10:15:38.297 回答
0

在指定路径之前,请确保仔细遵循这三件事, 1.在指定路径之前关闭命令提示符窗口。2.添加路径时,在末尾添加 bin 和分号 3. 如果 JAVAC 命令运行正常,请尝试 java -cp 类名。

于 2015-09-27T03:52:26.243 回答
-1

否决票

如果您想在您的班级所在的当前工作目录中运行程序。

java提供了三个选项。

第一个选项

java -cp 测试仪

当前工作目录的第二个选项

爪哇-cp。测试仪

第三个选项导出 CLASSPATH 变量

导出 CLASSPATH=$CLASSPATH:. (如果您的目录发生变化,这是最好的)或

导出 CLASSPATH=$PWD

或者

导出类路径=

之后,您必须获取 bashrc 或 bashprofile。

于 2013-08-08T12:06:19.943 回答