Fórum Dúvida com import #506002
02/01/2015
0
Suponhamos que eu tenha os seguintes diretorios e arquivos:
Diretorios:
/home/felipe/projeto/src/xyz/
Arquivos:
projeto/TestMain.java
package projeto;
import projeto.src.FileSystem;
class TesteMain {
public static void main(String[] args) {
FileSystem fileSystem = new FileSystem();
}
}
src/FileSystem.java
package projeto.src;
class FileSystem {
}
src/xyz/TestMain2.java
package projeto.src.xyz;
import projeto.src.FileSystem;
class TesteMain2 {
public static void main(String[] args) {
FileSystem fileSystem = new FileSystem();
}
}
Se eu rodar o TestMain.java da pasta projeto roda normal... Mas se eu tentar rodar a TestMain2.java que está num subdiretorio após o pacote que vou usar, da erro.
Esse exemplo é só para eu entender melhor os import's do java. Talvez eu nunca use um chamada de aplicação dentro de uma pasta de pacote de classes do sistema... mas vamos supor que eu queira.
Por causa do TestMain2.java estar dentro de um subpacote do qual eu desejo chamar (srx.FileSystem), ele da erro.
Eu tentei compilar alterando o classpath, mas mesmo assim nao consegui. Usei
cd /home/felipe/projeto/src/xyz/ javac -cp /home/felipe/projeto/ TestMain2.java java -cp /home/felipe/projeto/ TestMain2
Felipe Massa
Curtir tópico
+ 0Post mais votado
05/01/2015
E quanto aos arquivos de testes das classes, acredito que não deve ficar no diretório src, esses arquivos devem ficar aonde?
Por exemplo a classe TestMain?
Geralmente colocamos em um diretório chamado "test" no mesmo nível hierárquico do "src". Ex: /projeto001/test/TestMain.java
Ronaldo Lanhellas
Gostei + 1
Mais Posts
02/01/2015
Ronaldo Lanhellas
O seu diretório: Diretorios: "/home/felipe/projeto/src/xyz/" significa que o nome do pacote é "xyz" e não "projeto.src.xyz", no caso ficaria assim:
import FileSystem;
class TesteMain {
public static void main(String[] args) {
FileSystem fileSystem = new FileSystem();
}
}
class FileSystem {
}
package xyz;
import FileSystem;
class TesteMain2 {
public static void main(String[] args) {
FileSystem fileSystem = new FileSystem();
}
}
Lembre-se de que "src" é apenas o diretório onde ficam os fontes/sourcers.
Gostei + 0
03/01/2015
Felipe Massa
E quanto aos arquivos de testes das classes, acredito que não deve ficar no diretório src, esses arquivos devem ficar aonde?
Por exemplo a classe TestMain?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)