it-swarm.com.ru

Как запустить программу на Java из командной строки в Windows?

Я пытаюсь выполнить программу Java из командной строки в Windows. Вот мой код:

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();
        }
    }
}

Я не уверен, как выполнить программу - любая помощь? Это возможно в Windows? Почему это отличается от другой среды (я думал, что JVM была однажды написать, запустить где угодно)?

195
Elizabeth Turner

Источник: Яваиндос.

Допустим, ваш файл находится в C:\mywork \

Запустить командную строку 

C:\> cd \mywork

Это делает C:\mywork текущим каталогом.

C:\mywork> dir

Это отображает содержимое каталога. Тебе следует увидеть Имя файла здесь. Java среди файлов.

C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin

Это говорит системе, где найти программы JDK.

C:\mywork> javac filenamehere.Java

Это запускает javac.exe, компилятор. Вы не должны видеть ничего, кроме следующая система Подскажите ...

C:\mywork> dir

javac создал файл filenamehere.class. Тебе следует увидеть имя файла здесь.Java и имя файла здесь.class среди файлов.

C:\mywork> Java filenamehere

Это запускает интерпретатор Java. Затем вы должны увидеть свою программу выход.

Если система не может найти javac, проверьте команду set path. Если Javac работает, но вы получаете ошибки, проверьте ваш текст Java. Если программа компилируется, но вы получаете исключение, проверьте орфографию и заглавные буквы в имени файла и имени класса и Java Команда HelloWorld. Ява чувствительна к регистру!

215
Nicholas Kadaeux

Чтобы завершить ответ:

  1. Файл Java

    TheJavaFile.Java
    
  2. Скомпилируйте файл Java в файл * .class

    javac TheJavaFile.Java
    
    • Это создаст файл TheJavaFile.class
  3. Выполнение файла Java

    Java TheJavaFile
    
  4. Создание исполняемого файла *.jar

    • У вас есть два варианта здесь -

      1. С внешним файлом манифеста:

        • Создайте файл манифеста, скажем - MANIFEST.mf 

        • Файл MANIFEST - это не что иное, как явная запись основного класса 

        • jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class

      2. Выполняется точкой входа:

        • jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
  5. Чтобы запустить Jar File

    Java -jar TheJavaFile.jar
    
96
2324

В случае, если ваш класс Java находится в каком-то пакете. Предположим, что ваш класс Java с именем ABC.Java присутствует в com.hello.programs, тогда вам нужно запустить его с именем пакета.

Скомпилируйте его обычным способом:

C:\SimpleJavaProject\src\com\hello\programs > javac ABC.Java

Но чтобы запустить его, вам нужно дать имя пакета, а затем имя вашего класса Java:

C:\SimpleJavaProject\src > Java com.hello.programs.ABC
17
Harshad Holkar

Компилировать Java-файл для генерации класса:

javac filename.Java

Выполнить сгенерированный класс:

Java filename
16
Paresh3489227

Это легко. Если вы сохранили файл как A.text, первое, что вам нужно сделать, это сохранить его как A.Java. Теперь это файл Java. 

Теперь вам нужно открыть cmd и указать путь к файлу A.Java перед его компиляцией. Вы можете обратиться это для этого.

Затем вы можете скомпилировать файл с помощью команды 

джавак А. Ява

Затем запустите его, используя

Java A

Так вот, как вы компилируете и запускаете программу на Java в cmd . Вы также можете просмотреть эти материал это Java на уроках углубленного изучения. Многое, что вам нужно понять в Java, рассказано для начинающих.

8
Eliza Helena

Вы можете скомпилировать любой исходный код Java, используя javac в командной строке; например, javac CopyFile.Java . Для запуска: Java CopyFile . Вы также можете скомпилировать все файлы Java, используя javac * .Java, если они находятся в одном каталоге.

Если у вас возникла проблема с сообщением «не удалось найти или загрузить основной класс», возможно, на вашем пути нет Jre. Посмотрите на этот вопрос: Не удалось найти или загрузить основной класс

6
monika

Предполагая, что файл называется «CopyFile.Java», выполните следующие действия:

javac CopyFile.Java
java -cp . CopyFile

Первая строка компилирует исходный код в исполняемый байт-код. Вторая строка выполняет его, сначала добавляя текущий каталог к ​​пути к классу (на всякий случай).

6
YakovK

На Windows 7 мне пришлось сделать следующее:

быстрый способ

  1. Установите JDK http://www.Oracle.com/technetwork/Java/javase/downloads
  2. в окнах перейдите в «C:\Program Files\Java\jdk1.8.0_91\bin» (или там, где установлена ​​последняя версия JDK), удерживайте нажатой клавишу «Shift» и щелкните правой кнопкой мыши пустую область в окне и сделайте «открыть» окно команд здесь ", и это даст вам командную строку и доступ ко всем инструментам BIN. "javac" не по умолчанию в переменной среды PATH системы Windows.
  3. Следуйте приведенным выше комментариям о том, как скомпилировать файл («javac MyFile.Java», затем «Java MyFile») https://stackoverflow.com/a/33149828/194872

долгий путь

  1. Установите JDK http://www.Oracle.com/technetwork/Java/javase/downloads/index.html
  2. После установки в редактирует переменную среды Windows PATH и добавляет к пути C:\ProgramData\Oracle\Java\javapath следующее. В этой папке находятся символические ссылки на несколько исполняемых файлов Java , но «javac» НЕ является одним из них, поэтому при попытке запустить «javac» из командной строки Windows выдает ошибку.
  3. Я отредактировал путь: Панель управления -> Система -> вкладка «Дополнительно» -> кнопка «Переменные среды ...» -> прокрутите вниз до «Путь», выделите и отредактируйте -> заменил «C:\ProgramData\Oracle\Java \» javapath "с прямым путем к папке Java BIN" C:\Program Files\Java\jdk1.8.0_91\bin ".
  4. Скорее всего, это сломается, когда вы обновите установку JDK, но теперь у вас есть доступ ко всем инструментам командной строки.

  5. Следуйте приведенным выше комментариям о том, как скомпилировать файл («javac MyFile.Java», затем «Java MyFile») https://stackoverflow.com/a/33149828/194872

4
Chris Smith

 enter image description here ШАГ 1: ПЕРВЫЙ ОТКРЫТЬ КОМАНДУ Подсказка ГДЕ НАХОДИТСЯ ВАШ ФАЙЛ IS. (щелчок правой кнопкой при нажатии Shift)
ШАГ 2: ТОГДА ИСПОЛЬЗУЙТЕ СЛЕДУЮЩИЕ КОМАНДЫ ДЛЯ ВЫПОЛНЕНИЯ . (Допустим, имя файла и имя класса, который нужно выполнить, называется Student.Java). Пример программы находится на заднем плане рисунка.

     javac Student.Java
     Java Student

 enter image description here

2
Ashwant Manikoth

Начиная с Java 9, JDK включает в себя jshell, Java REPL.

Предполагая, что каталог JDK 9+ bin правильно добавлен к вашему пути, вы сможете просто:

  1. Запустите jshell File.Java - File.Java, конечно же, ваш файл. 
  2. Откроется приглашение, позволяющее вам вызвать метод main: jshell> File.main(null).
  3. Чтобы закрыть запрос и завершить сеанс JVM, используйте /exit

Полную документацию по JShell можно найти здесь .

0
Horsey

Начиная с Java 11, инструмент командной строки Java может запускать исходный код из одного файла напрямую. например.

Java HelloWorld.Java

Это было улучшение с JEP 330: https://openjdk.Java.net/jeps/330

Подробнее об использовании и ограничениях см. Руководство по реализации Java, например, предоставленное Oracle: https://docs.Oracle.com/en/Java/javase/11/tools/Java.html

0
akawaguc

Теперь (начиная с JDK 9) вы можете просто использовать Java, чтобы выполнить это. Чтобы выполнить «Hello.Java», содержащий основной, можно использовать: Java Hello.Java

Вам больше не нужно компилировать, используя отдельно, используя javac.

0
Shiba