zoukankan      html  css  js  c++  java
  • 编译和运行java文件 找不到或无法加载主类

    这边提供一个关于程序中含有package关键字,使用“终端”运行程序时出现“找不到或无法加载主类”,而使用Eclipse软件可以正常运行程序的可能解决办法。

    例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位于javatest目录下,即javatest/helloWorld/HelloWorldTest.java。

    应该在java文件所在的目录运行javac指令,即在helloWorld目录中运行javac HelloWorldTest.java

    再在包所在的上层目录中运行java指令,即在javatest目录中运行java helloWorld.HelloWorldTest

    由于是在OS X环境下学习的java,对于classpath等的设置不太熟悉,可能此方法与部分答主所述为同一意思。



    作者:顾志方
    链接:https://www.zhihu.com/question/36537093/answer/206814470
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
     
    https://www.cnblogs.com/Ring1981/p/6240412.html
    //这个问题原因有以下几种,但是和环境变量并没有太大的关系
    //能够执行java 和 javac 就证明你的环境变量已经配置好了,其实 classpath 可以不配置
    //假如有如下文件:H:codeHello.java
    public class Hello{
        public static void main(String[]args){
            System.out.println("Hello");
        }
    }
    //正确编译命令: javac Hello.java
    //正确运行命令: java Hello
     
    错误1:H:code>java Hello.java
    错误: 找不到或无法加载主类 Hello.java
    原因:命令错误
     
    错误2:H:code>java Hello.class
    错误: 找不到或无法加载主类 Hello.class
    原因:命令错误
     
    错误3:java 源文件带有包名,往往容易出错
    如:H:codeHello2.java
    package com.example;
     
    public class Hello2{
        public static void main(String[]args){
            System.out.println("Hello2");
        }
    }
    这代码看上去没什么问题,执行:
    H:code>javac Hello2.java
    H:code>java Hello2
    错误: 找不到或无法加载主类 Hello2
     
    解决办法:
    +.删除包名  或者 
    +.在code 下创建一个与包名相同的文件结构(H:codecomexampleHello2.java)
      编译:H:code>javac com/example/Hello2.java
      运行:H:code>java com.example.Hello2
  • 相关阅读:
    【代码笔记】iOS-NSLog的使用
    【代码笔记】iOS-NSJSONSerializationDemo
    【代码笔记】iOS-My97DatePicker日历
    【代码笔记】iOS-mp3的播放
    【代码笔记】iOS-MBProgressHUDDemo
    【代码笔记】iOS-MBProgressHUD
    【代码笔记】iOS-导航条的标题(label)
    【代码笔记】iOS-Label随字自动变大
    OC语言构造方法
    iOS开发UI篇—在ImageView中添加按钮以及Tag的参数说明
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/9082249.html
Copyright © 2011-2022 走看看