当前位置: 代码迷 >> J2SE >> 关于设置环境变量的疑义
  详细解决方案

关于设置环境变量的疑义

热度:65   发布时间:2016-04-23 19:36:45.0
关于设置环境变量的疑问。
刚开始学习java,看的是编程思想第四版,看到包访问的地方出现的问题。

环境变量设置为:
CLASSPATH 设置的是      .;F:\JavaLearn    (最前面有点的)
Path 设置的是      C:\ProgramData\Oracle\Java\javapath;D:\Java\jdk1.8.0_65\bin

在同一个目录里的两个文件:
//: access/mypackage/MyClass.java
package access.mypackage;

public class MyClass {
public static void main(String[] args) {
new OkClass();
}
}


//: access/mypackage/OkClass.java
package access.mypackage;

public class OkClass {
OkClass(){ System.out.println("Ok!Class!"); }
}


运行后的结果是:
F:\JavaLearn\access\mypackage>dir
 驱动器 F 中的卷没有标签。
 卷的序列号是 0006-2AF1

 F:\JavaLearn\access\mypackage 的目录

2015/11/04  02:20    <DIR>          .
2015/11/04  02:20    <DIR>          ..
2015/11/04  02:21               154 MyClass.java
2015/11/04  02:21               137 OkClass.java
               2 个文件            291 字节
               2 个目录 61,560,258,560 可用字节

F:\JavaLearn\access\mypackage>javac MyClass.java

F:\JavaLearn\access\mypackage>java MyClass
错误: 找不到或无法加载主类 MyClass

F:\JavaLearn\access\mypackage>java access.mypackage.MyClass
Ok!Class!

F:\JavaLearn\access\mypackage>dir


运行“java MyClass”的时候看起来像是因为没在当前目录找到类文件,可是我的CLASSPATH变量设置了“点”了啊!
请大家帮帮忙,多谢了~
------解决思路----------------------
java命令要求要用fully-qualified class name(带上包名)
------解决思路----------------------
这个问题我也遇到过了。你如果java文件第一行都没有 package access.mypackage 在dos下运行就没有错,如果有那一句也是没问题的,你在eclipse下运行完全没有问题。这个和环境变量设置是没有关系的,环境变量只是搭建一个java环境
------解决思路----------------------
引用:
Quote: 引用:

你把目录回退到F:\JavaLearn,在那个目录“javac MyClass.java”


这个会提示找不到文件。
不好意思,误导人了,用IDE时间长了,不会用命令行方式了
------解决思路----------------------
引用:
Quote: 引用:

java命令要求要用fully-qualified class name(带上包名)

多谢解答。
是不是意思就是说:运行带有package语句的类,就得用带包名的全名来运行啊?

  相关解决方案