我对linux环境很陌生。
我试图在linux环境中运行一个简单的hello world 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而无法继续进行。
有人可以帮我解决这个问题吗?
答案 0 :(得分:11)
使用终端
导航到/ home / scriptsjavac com/util/Hello.java
然后
cd /home/scripts
java -cp . com.util.Hello
或者,
java -cp "/home/scripts" com.util.Hello
答案 1 :(得分:2)
首先,您必须生成.class文件:
javac ./hello.java
此命令已生成hello.class文件 然后你可以运行你的类文件! :)
java hello
答案 2 :(得分:1)
向下投票
如果要在类所在的当前工作目录中运行程序。
java提供了三个选项。
第一个选项
java -cp Tester
当前工作目录的第二个选项
java -cp。测试仪
第三个选项导出CLASSPATH变量
export CLASSPATH = $ CLASSPATH:。 (如果目录更改,这是最好的一个)或
export CLASSPATH = $ PWD
或
导出CLASSPATH =
之后你必须使用bashrc或bashprofile。
答案 3 :(得分:1)
我们首先知道javac命令工作得很好。
我也遇到了这个错误,我已经解决了这个问题。让我分享一下。
首先,我们需要在java代码中找到包的父路径。
然后使用java package + fileName cd到那个路径应该在那一刻运行良好。
答案 4 :(得分:1)
我在Windows上遇到了完全相同的问题,我通过添加路径来解决它“。”对于CLASSPATH和PATH,也许你也可以在Linux上试试这个。
答案 5 :(得分:0)
您的.class
文件不应位于/home/scripts/
,而应位于/home/scripts/com/util/
。看看this document,它解释了类路径,包和目录之间的关系。
答案 6 :(得分:0)
在指定路径之前,请确保您仔细遵循这三个方面, 1. 在指定路径之前,关闭命令提示符窗口。 2.当添加路径时,在末尾添加bin和分号和 3.如果JAVAC命令正常工作,请尝试java -cp类名。