我用的是软呢帽19。HelloWorld的内容。爪哇:
class HelloWorld {
public static void main( String args[] ) {
System.out.println( "Hello World!!" );
}
}
我可以使用
javac HelloWorld。JAVA
但我无法使用
java HelloWorld
它给出了以下错误
错误:无法找到或加载主类HelloWorld
但我可以用
sudo java HelloWorld
我错过了什么???
这是相当奇怪的。看起来问题是,当您以非特权用户运行java
时,它找不到或读取". class"文件。但是当以"root"运行时,你可以。
这表明您设法用错误的所有者和/或权限创建了“HelloWorld.class”文件。
通过运行ls-l HelloWorld检查权限。类
。所有者应该是您的用户帐户(而不是“root”),并且您需要用户对该文件的读取权限。
以下是其他几种可能的解释:
>
您可能已经设置了CLASSPATH环境变量,使得当前目录(我假设“HelloWorld.class”所在的位置)不在类路径上。但是当您执行sudo java命令时,java命令运行的环境中没有设置
$CLASSPATH
。在这种情况下,如果没有-cp
参数,您将获得一个默认的类路径,该路径仅由"."
;即当前目录组成。
如果问题是CLASSPATH环境变量,我建议您取消设置它...并编辑shell的“rc”文件来取消设置。
相反,在
java
命令上使用'-cp'命令,javac
命令等等...并切换到ant或Maven或IDE来构建和运行代码。(或者您可以编写一些小包装脚本作为应用程序启动器。)
不依赖于CLASSPATH环境变量。它很容易给你带来令人不快的惊喜,尤其是当你在编码项目之间切换时。(当然,在您的生产环境中不要依赖它!)
亲爱的Pranav Chugh:,
1- cmd - go the directory of located java file
在cmd上运行以下命令
2- javac HelloWorld.java
3- java HelloWorld ---- not not add .class
在这里你会得到结果
您没有设置包含已编译类的类路径<如果不告诉代码>java在哪里可以找到任何类。
试试java-cp。HelloWorld
这里有消息来源
我不知道为什么它能和sudo一起工作。我的猜测是,CLASSPATH是为根用户设置的,而不是为当前用户设置的。
问题内容: 我正在尝试使用Gradle运行一个非常简单的项目,并在使用时遇到以下错误: 这是我的文件结构: 我排除了libs和tmp文件夹的内容,因为我认为这与该问题无关,但是我可以在需要时添加它。 这是我的build.gradle文件: 关于如何解决此问题的任何想法?我已经为mainClassName属性尝试了各种方法,但似乎没有任何效果。 问题答案: 我在这里看到两个问题,一个与另一个有关。
我的java应用程序编译有问题。 编译器说:
我是按照Spring的教程,一切都工作正常,直到我克隆我的项目,现在克隆的项目和原来的项目不想工作,我已经搜索槽整个堆栈溢出类似的问题,我无法解决这个问题,我已经清理了项目,重新启动eclipse,更新,添加和删除依赖项从pom.xml似乎没有什么工作。 这是我的主要课程: Beans.xml: 波姆。xml: 正如我所说,当我在同一个工作区复制粘贴项目时,一切都开始失败,当然我更改了名称。 这个
我知道这个问题已经被回答过很多次了,但不幸的是我找不到我的问题的正确答案。 以下是我的软件包结构,在我的软件包中,我有简单测试.java d: \junit\src\junitfaq\SimpleTest.java 在d:\junit\src内部 d:\junit\src 但是当我尝试使用下面的命令行运行程序时 d:\junit\src 发生了此错误。错误:无法找到或加载主类junitfaq.Si
当我用这个命令“java-jarepsilon-1.0.jar”启动我的. jar时,他说“无法找到或加载主类net.epsilon.app.Main” 请帮帮我。非常感谢。 对不起,我不是英国人。
我使用的是Eclipse最新版本,每次我以“Java应用程序”的形式运行这个简单代码时,都会遇到错误“找不到或加载主类”。我是新来的,所以对Java知之甚少。我期待着一些帮助,请详细说明。运行配置窗口截图Buildpath配置截图。窗