Eu tenho uma estrutura de diretórios como com/example/web
sob o diretório raiz que contém um arquivo java Bear.java
. Eu tenho outro arquivo java BearExtra.java
na estrutura de diretórios com/example/model
no mesmo diretório raiz acima. Eu estou chamando um método em BearExtra.java
a partir de Bear.java
e estou recebendo o erro de que o pacote não existe.
Eu importei com.example.model
pacote no meu arquivo java. Pode me dar algum conselho?
Respostas:
14 para resposta № 1Isso funciona:
com / exemplo / modelo / BearExtra.java
package com.example.model;
public class BearExtra {
public static void go() {
System.out.println("Yay, it works!");
}
}
com / exemplo / web / Bear.java
package com.example.web;
import com.example.model.*;
public class Bear {
public static void main(String[] args) {
BearExtra.go();
}
}
Agora, para compilar e executar essas classes, vá para o diretório onde você pode "ver" o com
pasta e faça:
* nix / MacOS
javac -cp . com/example/model/*.java com/example/web/*.java
java -cp . com.example.web.Bear
janelas
javac -cp . comexamplemodel*.java comexampleweb*.java
java -cp . com.example.web.Bear
e o seguinte está sendo impresso no console:
Yay, it works!
0 para resposta № 2
Você especificou o "pacote" em seus arquivos de classe?
Bear.java
package com.example.web;
import com.example.model.*;
class Bear { ...
BearExtra.java
package com.example.model;
public class BearExtra { ...