Estou tentando executar um programa Java na linha de comando do Windows. Aqui está o meu código:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class CopyFile
{
public static void main(String[] args)
{
InputStream inStream = null;
OutputStream outStream = null;
try
{
File afile = new File("input.txt");
File bfile = new File("inputCopy.txt");
inStream = new FileInputStream(afile);
outStream = new FileOutputStream(bfile);
byte[] buffer = new byte[1024];
int length;
// copy the file content in bytes
while ((length = inStream.read(buffer)) > 0)
{
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
System.out.println("File is copied successful!");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Não sei como executar o programa - alguma ajuda? Isso é possível no Windows? Por que é diferente de outro ambiente (pensei que a JVM fosse escrita uma vez, executada em qualquer lugar)?
javac CopyFile.java
e entãojava CopyFile
CopyFile
reside?Respostas:
Fonte: javaindos.
fonte
.class
arquivo na estrutura de diretórios apropriada. O diretório atual é o caminho de classe padrão, portanto você não precisa definir-cp .
manualmente.Para completar a resposta:
O arquivo Java
Compile o arquivo Java em um arquivo * .class
TheJavaFile.class
arquivoExecução do arquivo Java
Criação de um
*.jar
arquivo executávelVocê tem duas opções aqui -
Com um arquivo de manifesto externo:
Crie o arquivo de manifesto, digamos - MANIFEST.mf
O arquivo MANIFEST nada mais é do que uma entrada explícita da classe principal
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
Executável por ponto de entrada:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
Para executar o arquivo jar
fonte
java TheJavaFile
isso é equivalente ajava TheJavaFile.class
... para que você não esteja executando o arquivo java como você afirmou. você está executando o arquivo de classe. arquivos java são fontes que não são executáveisCaso sua classe Java esteja em algum pacote. Suponha que sua classe Java nomeada
ABC.java
esteja presente emcom.hello.programs
, então você precisa executá-la com o nome do pacote.Compile da maneira usual:
Mas, para executá-lo, você precisa fornecer o nome do pacote e o nome da sua classe java:
fonte
Complete um arquivo Java para gerar uma classe:
Execute a classe gerada:
fonte
Isso é fácil. Se você salvou seu arquivo como A.text, a primeira coisa a fazer é salvá-lo como A.java. Agora é um arquivo Java.
Agora você precisa abrir o cmd e definir o caminho para o seu arquivo A.java antes de compilá-lo. você pode consultar isso para isso.
Então você pode compilar seu arquivo usando o comando
Em seguida, execute-o usando
Então é assim que você compila e executa um programa java no cmd. Você também pode passar por esse material que é Java em profundidade. Muitas coisas que você precisa entender em Java são abordadas aqui para iniciantes.
fonte
Você pode compilar qualquer fonte java usando javac na linha de comando; por exemplo, javac CopyFile.java. Para executar: java CopyFile. Você também pode compilar todos os arquivos java usando javac * .java, desde que estejam no mesmo diretório
Se você está tendo um problema resultante de "não foi possível encontrar ou carregar a classe principal", talvez não tenha o jre no caminho. Dê uma olhada nesta pergunta: Não foi possível encontrar ou carregar a classe principal
fonte
Supondo que o arquivo seja chamado "CopyFile.java", faça o seguinte:
A primeira linha compila o código-fonte em código de bytes executável. A segunda linha o executa, adicionando primeiro o diretório atual ao caminho da classe (apenas no caso).
fonte
Desde o Java 11, a
java
ferramenta de linha de comando conseguiu executar um código-fonte de arquivo único diretamente. por exemploEste foi um aprimoramento com o JEP 330: https://openjdk.java.net/jeps/330
Para obter detalhes sobre o uso e as limitações, consulte o manual da sua implementação Java, como o fornecido pela Oracle: https://docs.oracle.com/en/java/javase/11/tools/java.html
fonte
No Windows 7, tive que fazer o seguinte:
Atalho
longo caminho
É provável que isso ocorra quando você atualiza sua instalação do JDK, mas agora você tem acesso a todas as ferramentas de linha de comando.
Siga os comentários acima sobre como compilar o arquivo ("javac MyFile.java" e "java MyFile") https://stackoverflow.com/a/33149828/194872
fonte
PASSO 1: ABRA PRIMEIRO O PROMPT DE COMANDO ONDE SEU ARQUIVO ESTÁ LOCALIZADO. (clique com o botão direito do mouse enquanto pressiona Shift)
ETAPA 2: ENTÃO USE OS SEGUINTES COMANDOS PARA EXECUTAR. (digamos que o nome do arquivo e da classe a ser executado seja nomeado como Student.java) O programa de exemplo está em segundo plano.
fonte
A partir do Java 9, o JDK inclui
jshell
um Java REPL.Supondo que o
bin
diretório JDK 9+ seja adicionado corretamente ao seu caminho, você poderá:jshell File.java
-File.java
sendo seu arquivo, é claro.main
método:jshell> File.main(null)
./exit
A documentação completa do JShell pode ser encontrada aqui .
fonte
Agora (com o JDK 9 em diante), você pode apenas usar o java para executá-lo. Para executar "Hello.java" contendo o principal, pode-se usar: java Hello.java
Você não precisa mais compilar usando o javac separadamente.
fonte