Java sem IDE ( na unha )

Galera, estou usando o compilador Java na linha de comando. Preciso saber como compilo na linha de comando usando packages. Ex:
1- este é o caminho do meio ambiente de produção: c:\des\java\web\proj\minhaApp
2- tenho os seguintes packages: src\com\example\web
src\com\example\model. Estes packages são subpastas de minhaApp
3- eu já compilei o .java que estava no model ( gerando o .class ) e agora quero compilar o .java que está no src\com\example\web importando o que está no model ( import src.com.example.model;

Ajuda aê…
javac … e o resto ?

se eu não me engano você tem que trocar as barras por ponto.
Ex: C:\des\java\web\proj\minhaApp> java src.com.example.web.SuaClasseASerExecutada

Compilar na linha de comando costuma ser muito chato, esperimente usar o ANT ou o Maven na linha de comando, garanto que vai achar interessante.

:slight_smile:

Rapaziada valeu pela força. Agradeço ao FelaGund por me indicar o ANT e o Maven. Já ouvi falar nestas ferramentas mas, nunca utilizei. Porém para um iniciante pesquisar agora outra ferramenta sai do foco do problema que quero resolver e só atrapalha o andamento do aprendizado. Mas, valeu assim mesmo. Obrigado. :slight_smile:

1 curtida

Você não precisa compilar separado, veja o exemplo, na minha máquina eu tenho a seguinte árvore de diretório

C:\Temp\MinhaApp>tree
Listagem de caminhos de pasta
O número de série do volume é D6B5-6EDA
C:.
├───classes
│   └───com
│       └───fox
│           └───model
└───src
    └───com
        └───fox
            └───model

E nos diretórios eu tenho os seguintes arquivos

C:\Temp\MinhaApp\classes
C:\Temp\MinhaApp\src
C:\Temp\MinhaApp\classes\com
C:\Temp\MinhaApp\classes\com\fox
C:\Temp\MinhaApp\classes\com\fox\model
C:\Temp\MinhaApp\src\com
C:\Temp\MinhaApp\src\com\fox
C:\Temp\MinhaApp\src\com\fox\B.java
C:\Temp\MinhaApp\src\com\fox\model
C:\Temp\MinhaApp\src\com\fox\model\A.java

o conteúdo dos arquivos A e B.java respectivamente

[code]
package com.fox.model;

public class A {

private String nome = "thiago";
public String getNome() {
	return nome;
}

}[/code]

[code]
package com.fox;

import com.fox.model.A;
class B {

public static void main(String[] b) {
	A a = new A();
	System.out.println(a.getNome());
}

}[/code]

Comando para compilar os dois

C:\Temp\MinhaApp\src>javac -d ..\classes com\fox\model\A.java com\fox\B.java

Repare que eu estou no diretório src que não faz parte da árvore dos pacotes

Bom acho que era isso, achei boa a tua iniciativa, bons estudos

Ah, aproveitando, para rodar é só fazer o seguinte

C:\Temp\MinhaApp\src>cd ..

C:\Temp\MinhaApp>cd classes

C:\Temp\MinhaApp\classes>java com.fox.B

Lembre-se que você vai ter que adaptar a estrutura de diretórios da sua máquina, se sentires dificuldades, copie a estrutura de diretórios e vá fazendo testes, até você dominar direitinho!

Valeu Thiago !!
Vou analisar e testar.
:smiley:

Valeu mesmo Thiago !!
Funcionou !! :smiley:

[quote=Jedi]Valeu mesmo Thiago !!
Funcionou !! :D[/quote]
Mas é claro que funcionou :wink: