Пакет не существует ошибка! - PullRequest
10 голосов
/ 12 июля 2011

У меня есть структура каталогов типа com/example/web в корневом каталоге, который содержит файл Java Bear.java. У меня есть другой файл Java BearExtra.java в структуре каталогов com/example/model в том же корневом каталоге, как указано выше. Я вызываю метод в BearExtra.java из Bear.java и получаю сообщение об ошибке, что пакет не существует.

Я импортировал пакет com.example.model в мой файл Java. Можете дать мне совет?

Ответы [ 2 ]

16 голосов
/ 12 июля 2011

Это работает:

com / example / model / BearExtra.java

package com.example.model;

public class BearExtra {
  public static void go() {
    System.out.println("Yay, it works!");
  } 
}

com / example / web / Bear.java

package com.example.web;

import com.example.model.*;

public class Bear {
  public static void main(String[] args) {
    BearExtra.go();
  }
}

Теперь,чтобы скомпилировать и запустить эти классы, перейдите в каталог, где вы можете «увидеть» папку com и выполните:

* nix / MacOS

javac -cp . com/example/model/*.java com/example/web/*.java
java -cp . com.example.web.Bear 

Windows

javac -cp . com\example\model\*.java com\example\web\*.java
java -cp . com.example.web.Bear 

и на консоль выводится следующее:

Yay, it works!
0 голосов
/ 12 июля 2011

Вы указали 'package' в файлах своего класса?

Bear.java

package com.example.web;

import com.example.model.*;

class Bear { ...

BearExtra.java

package com.example.model;

public class BearExtra { ...
...