java用cmd,import自己写的类。出现问题:无法找到或加载主类

时间:2022-09-30 13:52:35

jdk路径:E:\java\jdk1.7.0_40
运行程序路径: D:\java

Person.java 如下
package org.com.pack.person;

public class Person {
 protected String name;
 protected int age;
 protected void setName(String name) {
  this.name=name;
 }
 protected String getName() {
  return name;
 }
 protected void setAge(int age) {
  this.age=age;
 }
 protected int getAge() {
  return age;
 }
 protected void respire() {
  System.out.println("会呼吸");
 }
}
////////////////////////////////////////////////////////////////////
student.java  如下

package org.com.pack.student;

import org.com.pack.person.Person;
public class Student extends Person {
 private String school;
 public void setSchool(String school) {
  this.school=school;
 }
 public String getSchool() {
  return school;
 }
 public static void main(String[] args) {
  Student stu=new Student();
  stu.setName("小强");
  stu.setAge(21);
  stu.setSchool("中国矿业大学");
  stu.respire();
  System.out.println("我叫"+stu.getName()+",今年"+stu.getAge()+"岁,就读于"+stu.getSchool()+"!");

 }
}
///////////////////////////////////
运行时   cmd中当前目录D:\java输入   javac -d . Person.java
                                   javac -d . Student.java
成功生成对应的包Person.class 路径 D:\java\org\com\pack\person
                             Student.class 路径 D:\java\org\com\pack\student
            cmd 中再输入 java org.com.pack.student

                     找不到或无法加载主类org.com.pack.student.

解决方法: 网上找了很多资料,以为是clsspath路径没加上当前路径,在尾部加上 ;D:\java,如下。

classpath:          .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\java

运行,还是失败,都打算发帖求助了,整理了一下问题,因为不清楚编译过程,又重新编译,突发奇想,是不是类路径错了。

       cmd中再输入 java org.com.pack.student.Student

运行成功。由于看的书是这样写的,导致包名与类名只差一个首字母,查资料就以为是上面的运行方式。

classthpah 修改回来,还是正常运行。