mac 下 使用 java运行 class 文件 总是提示 “错误: 找不到或无法加载主类”的解决方法
发现问题
切换到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