Seria a classe Servidor e ThreadSockets;
Agradeço a Ajuda
Seria a classe Servidor e ThreadSockets;
Agradeço a Ajuda
Olá,
Resposta curta:
no diretório dos .java execute:
$ javac *.java
Resposta longa:
vamos imaginar a seguinte estrutura de diretório:
miscelania/
├── bin
└── src
├── A.java
└── Program.java
Ou seja, vc está no dir miscelania/ e dentro dele existe dois subdiretorios,
bin/: destinado aos .class gerados
e src/: destinado aos .java, sendo eles:
Program.java
public class Program {
public static void main(String[] args){
A a = new A();
a.printaFrase("Hello World");
}
}
A.java
public class A {
void printaFrase(String frase) {
System.out.println(frase);
}
}
Nesse caso, vc executaria:
$ javac -cp . -sourcepath src/ src/*.java -d bin/
Sendo que os .class seriam gerados na pasta bin/.
A nova estrutura do diretorio ficaria assim:
miscelania/
├── bin
│ ├── A.class
│ └── Program.class
└── src
├── A.java
└── Program.java
Veja que apareceram os .class no diretório bin/
Para executar utilize:
$ java -cp bin/ Program
Essa segunda maneira, ficaria bem mais organizado seus códigos. É claro, seria melhor se usássemos pacotes.
Nossa Muito Obrigado Ajudou muito. Outra Duvida. Quando no arquivo da classe fiz diversos imports tipo import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList;
Compila do mesmo jeito?
Sim. Para classes do Java, ou seja, que já estão no classpath é tranquilo.
Mas o parâmetro -cp é pra isso mesmo, indicar classpaths adicionais.
Assim, caso tenha classes em locais diferentes e deseje carrega-las, vc deve informar o caminho da busca separando com dois pontos, exemplo.
.../miscelania$ javac -cp libs/javafaker/*:bin/:. -sourcepath src/ src/main/Program.java -d bin/
O comando acima, compila a classe Program,
package main;
import java.util.Locale;
import model.RandomNumber;
public class Program {
public static void main(String[] args){
int i = RandomNumber.getIntNumber(1, 150);
System.out.printf("%d\n", i);
}
}
existente no pacote main, informando como classpath adicionais os diretórios libs/javafaker e o diretório bin/. Veja a estrutura do diretório:
miscelania/
├── bin
│ ├── main
│ │ └── Program.class
│ └── model
│ └── RandomNumber.class
├── libs
│ └── javafaker
│ ├── commons-lang3-3.5.jar
│ ├── generex-1.0.2.jar
│ ├── javafaker-1.0.2.jar
│ └── snakeyaml-1.23-android.jar
└── src
├── main
│ └── Program.java
└── model
Perceba que dentro do pacote model, não existe arquivo algum. A classe RandomNumber está localizada dentro de bin/, por isso o diretório foi informado no classpath durante a compilação.
Para rodar o .class, execute:
$ java -cp libs/javafaker/*:bin/:. main.Program
Muito Obrigado Ajudou Bastante