mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法

时间:2023-01-13 22:08:14

发现问题

切换到mac平台后,突然想写点程序运行在mac下,想到mac自带java,会方便好多。不过在这过程中遇到了麻烦:

  总是提示 “错误: 找不到或无法加载主类”

工程结构

查了好久,终于找到原型所在,发现网上很多资料都写的都不太多,自己记录一下。先看看工程的位置和目录。

我的eclipse 工作空间位置是: /Users/zhangyunfei/workspace_java

我的工程名字叫:hellodemo

我的main class 的package name (包名)为: hellodemo.zhangyf , 完整类名是: hellodemo.zhangyf.MainClass

那么工程的 主路径就是: /Users/zhangyunfei/workspace_java/hellodemo,结构如下:

  hellodemo

      bin

        hellodemo

          zhangyf

            MainClass.class

      src

        hellodemo

          zhangyf

            MainClass.java

            

其中bin  是eclipse自动生成的 输出文件,eclipse会将java文件编辑成 *.class文件。这个 *.class文件才是可以运行的。

相对路径执行方式

cd /Users/zhangyunfei/workspace_java/hellodemo
java -cp bin hellodemo.zhangyf.MainClass

注释: 这里先进入 项目的跟路径 ,然后使用相对路径 bin 来执行。

绝对路径执行方式

在我的这个项目结构下,执行这个class的 命令是,你可以在 bash(命令提示窗口)中输入下面的指令来执行它:

java -cp /Users/zhangyunfei/workspace_java/hellodemo/bin hellodemo.zhangyf.MainClass

其中 java 是执行java class的执行指令,-cp 表示 class path,即class的路径,后面跟着实际的路径,注意,是 “class 所在的跟路径”,即 bin 目录所在的路径。再后面要跟上 class的全名称。

感谢

参考:http://bbs.csdn.net/topics/390813742