java用cmd,import自己寫的類。出現問題:無法找到或加載主類

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 修改回來,還是正常運行。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章