Я пытаюсь запустить программу на 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 была написана один раз, запускалась где угодно)?
Java. 02. Компиляция, запуск и создание JAR на примере простой программы
Elizabeth Turner 22 Апр 2013 в 04:26
javac CopyFile.java , а затем java CopyFile
Nir Alfasi
22 Апр 2013 в 04:29
Я сейчас в командной строке, нужно ли мне сохранять текстовые файлы в той же папке, что и программа, чтобы их можно было вызвать?
Elizabeth Turner
22 Апр 2013 в 04:30
В каком пакете находится CopyFile
MadProgrammer
22 Апр 2013 в 04:32
Turner, сначала вы должны убедиться, что вы установили JRE (Java Runtime Env) и что он доступен из каждой папки (путь к Java/Javac включен в переменную PATH env). Затем выполните команды, которые я написал выше, из той же папки, в которой находится CopyFile.java.
Nir Alfasi
22 Апр 2013 в 04:33
См. java, PATH и CLASSPATH и этот вопрос Запуск программы Java из командной строки.
22 Апр 2013 в 04:33
13 ответов
Лучший ответ
Допустим, ваш файл находится в C: mywork
Запустить командную строку
C:> cd mywork
Это делает C: mywork текущим каталогом.
C:mywork> dir
Это отображает содержимое каталога. Среди файлов вы должны увидеть filenamehere.java.
C:mywork> set path=%path%;C:Program FilesJavajdk1.5.0_09bin
Это сообщает системе, где найти программы JDK.
C:mywork> javac filenamehere.java
Это запускает компилятор javac.exe. Вы не должны увидеть ничего, кроме следующего системного приглашения .
C:mywork> dir
javac создал файл filenamehere.class. Среди файлов вы должны увидеть filenamehere.java и filenamehere.class.
C:mywork> java filenamehere
Это запускает интерпретатор Java. Затем вы должны увидеть результат своей программы.
Если система не может найти javac, проверьте команду set path. Если javac запускается, но возникают ошибки, проверьте текст Java. Если программа компилируется, но возникает исключение, проверьте написание и использование заглавных букв в имени файла, имени класса и команде Java HelloWorld. Java чувствительна к регистру!
Как запускать Java программу из командной строки
Liam 2 Ноя 2017 в 13:26
Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь запустить компилятор, я получаю сообщение об ошибке «не удалось найти или загрузить основной класс CopyFile
Elizabeth Turner
22 Апр 2013 в 04:42
Если у вас есть папка, содержащая CopyFile.class, установленная в качестве текущего каталога, просто попробуйте «java -cp . CopyFile». В противном случае «java -cp FULLPATH CopyFile»
Nicholas Kadaeux
22 Апр 2013 в 04:48
Чего не хватает: если класс был объявлен в определенном пакете, то вы должны поместить файл .class в соответствующую структуру каталогов. Текущий каталог — это путь к классам по умолчанию, поэтому вам не нужно устанавливать -cp . вручную.
Artur Czajka
6 Ноя 2016 в 03:51
Конечно, вы должны использовать пакеты: package mypackage; затем перейдите к вашему названию проекта/ . Запустите java mypackage.Main
14 Авг 2017 в 07:09
questionto42standswithUkraine
16 Май 2020 в 00:18
Чтобы завершить ответ:
TheJavaFile.java
javac TheJavaFile.java
- Это создаст TheJavaFile.class файл
java TheJavaFile
- У вас есть два варианта:
- С внешним файлом манифеста:
- Создайте файл манифеста, скажем, MANIFEST.mf
- Файл МАНИФЕСТ представляет собой не что иное, как явную запись основного класса
- jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
java -jar TheJavaFile.jar
Jiri Tousek 15 Окт 2015 в 17:12
Не могли бы вы показать содержимое MANIFEST.mf, потому что, когда я пытаюсь выполнить «Исполняемый файл по точке входа», он говорит, что основной класс не может быть найден
Pini Cheyni
17 Ноя 2015 в 21:06
Cheyni Если ваш класс называется MainClass, тогда в вашем файле манифеста будет запись для Main-Class : MainClass
25 Ноя 2015 в 06:26
Dinesh Kumar P
27 Сен 2016 в 08:39
В пункте 3, когда вы вызываете java TheJavaFile , это эквивалентно java TheJavaFile.class .. так что вы не выполняете java-файл, как вы сказали. вы выполняете файл класса. java-файлы — это исходники, которые не являются исполняемыми
user2914191
3 Фев 2019 в 16:35
Компилировать файл Java для создания класса:
javac filename.java
Выполнить сгенерированный класс:
java filename
David Ferenczy Rogožan 20 Сен 2018 в 19:20
Обратите внимание, что ваше «имя файла» на самом деле является именем класса. java.exe будет искать в каждом файле *.jar класс с таким именем.
24 Авг 2017 в 23:37
Не могли бы вы объяснить это, пожалуйста? Это плохо или хорошо? Должен ли он называться по-другому?
David Ferenczy Rogožan
20 Сен 2018 в 19:21
Если ваш класс Java находится в каком-то пакете. Предположим, ваш класс Java с именем ABC.java присутствует в com.hello.programs , тогда вам нужно запустить его с именем пакета.
Скомпилируйте его обычным способом:
C:SimpleJavaProjectsrccomhelloprograms > javac ABC.java
Но для его запуска вам нужно указать имя пакета, а затем имя вашего класса java:
C:SimpleJavaProjectsrc > java com.hello.programs.ABC
David Ferenczy Rogožan 20 Сен 2018 в 19:23
Работает для джавы 8
13 Фев 2022 в 20:15
Предполагая, что файл называется «CopyFile.java», сделайте следующее:
javac CopyFile.java java -cp . CopyFile
Первая строка компилирует исходный код в исполняемый байт-код. Вторая строка выполняет его, сначала добавляя текущий каталог к пути к классу (на всякий случай).
YakovK 1 Фев 2017 в 00:03
Мой компьютер:bin пользователь$ java -cp . Ошибка Main.class: не удалось найти или загрузить основной класс Main.class
13 Авг 2017 в 10:14
Начиная с Java 11, инструмент командной строки java может напрямую запускать однофайловый исходный код. например
java HelloWorld.java
Подробные сведения об использовании и ограничениях см. В руководстве по вашей реализации Java, например, предоставленном Oracle: https://docs.oracle.com/en/java/javase/11/tools/java.html.
akawaguc 29 Май 2019 в 17:10
Это просто. Если вы сохранили свой файл как A.text, первое, что вам нужно сделать, это сохранить его как A.java. Теперь это файл Java.
Теперь вам нужно открыть cmd и указать путь к файлу A.java перед его компиляцией. вы можете указать это для тот.
Затем вы можете скомпилировать свой файл с помощью команды
Затем запустите его, используя
Вот как вы компилируете и запускаете java-программу в cmd. Вы также можете просмотреть эти материалы, которые представляют собой углубленные уроки Java. Там для начинающих описано множество вещей, которые вам нужно понять в Java.
Eliza Helena 3 Апр 2016 в 14:48
Вы можете скомпилировать любой исходный код java, используя javac в командной строке; например, javac CopyFile.java. Для запуска: java CopyFile. Вы также можете скомпилировать все файлы java, используя javac * .java, если они находятся в одном каталоге.
Если у вас возникла проблема, связанная с «не удалось найти или загрузить основной класс», возможно, у вас нет jre на вашем пути. Взгляните на этот вопрос: Не удалось найти или загрузить основной класс
Community 23 Май 2017 в 15:34
В Windows 7 мне пришлось сделать следующее:
быстрый способ
- Установите JDK http://www.oracle.com/technetwork/java/javase/downloads
- в Windows перейдите в папку «C: Program Files Java jdk1.8.0_91 bin» (или там, где установлена последняя версия JDK), удерживайте нажатой клавишу Shift, щелкните правой кнопкой мыши пустую область в окне и нажмите «открыть» командное окно здесь «, и это даст вам командную строку и доступ ко всем инструментам BIN. «javac» по умолчанию отсутствует в системной переменной среды Windows PATH.
- Следуйте приведенным выше комментариям о том, как скомпилировать файл («javac MyFile.java», затем «java MyFile») https://stackoverflow.com/ a / 33149828/194872
долгий путь
- Установите JDK http://www.oracle.com/technetwork/java/ javase / downloads / index.html
- После установки in редактирует переменную среды Windows PATH и добавляет следующее в путь C: ProgramData Oracle Java javapath. В этой папке есть символические ссылки на несколько исполняемых файлов java, но «javac» НЕ является одним из них , поэтому при попытке запустить «javac» из командной строки Windows возникает ошибка.
- Я отредактировал путь: Панель управления -> Система -> вкладка «Дополнительно» -> кнопка «Переменные среды . » -> прокрутите вниз до «Путь», выделите и отредактируйте -> заменил «C: ProgramData Oracle Java javapath «с прямым путем к папке java BIN» C: Program Files Java jdk1.8.0_91 bin «.
- Это, вероятно, сломается, когда вы обновите установку JDK, но теперь у вас есть доступ ко всем инструментам командной строки.
- Следуйте приведенным выше комментариям о том, как скомпилировать файл («javac MyFile.java», затем «java MyFile») https://stackoverflow.com/ a / 33149828/194872
Community 23 Май 2017 в 14:47
ШАГ 1: ПЕРВЫЙ ОТКРОЙТЕ КОМАНДНУЮ ЗАПИСЬ, ГДЕ НАХОДИТ ВАШ ФАЙЛ. (щелкните правой кнопкой мыши, удерживая нажатой клавишу Shift)
ШАГ 2: ДЛЯ ВЫПОЛНЕНИЯ ИСПОЛЬЗУЙТЕ СЛЕДУЮЩИЕ КОМАНДЫ. (скажем, имя файла и класса, который должен быть запущен, — Student.java). Пример программы находится на заднем плане рисунка.
javac Student.java java Student
Ashwant Manikoth 12 Май 2017 в 07:20
Начиная с Java 9, JDK включает jshell , Java REPL.
Предполагая, что каталог JDK 9+ bin правильно добавлен к вашему пути, вы сможете просто:
- Запустите jshell File.java — File.java , конечно же, ваш файл.
- Откроется приглашение, позволяющее вызвать метод main : jshell> File.main(null) .
- Чтобы закрыть приглашение и завершить сеанс JVM, используйте /exit
Полную документацию по JShell можно найти здесь .
Horsey 27 Янв 2019 в 11:05
Теперь (с JDK 9 и выше) вы можете просто использовать java для выполнения. Чтобы выполнить «Hello.java», содержащий основной, можно использовать: java Hello.java
Вам больше не нужно компилировать с использованием отдельно, используя javac.
Shiba 11 Апр 2019 в 13:21
Эта функция была добавлена в JDK 11.
27 Сен 2019 в 16:04
На самом деле вы можете запускать программу Java так же, как сценарии оболочки или Python, без ручной компиляции файла Java, как описано в JEP 330. Это доступно с JDK 11.
Если вы создадите файл testing и поместите следующее, вы сможете запустить его как команду testing . Вам нужно сделать его исполняемым в Linux и Mac OSX с помощью chmod +x testing .
#!/usr/bin/env java —source 11 public class Test < public static void main(String [] args) < System.out.println(«Hello world!»); System.exit(0); >>
Вам не разрешено использовать расширение файла .java в предыдущем примере.
$ chmod +x testing $ ./testing Hello world! $
Но вы все равно можете выполнить, если это было имя Test.java без шебанга «#!» такой префикс:
public class Test < public static void main(String [] args) < System.out.println(«Hello again!»); System.exit(0); >>
Затем выполните файл Test.java с помощью следующей команды:
$ java Test.java Hello again! $
Так что это работает, пока у вас есть достаточно новый компилятор Java в пути, проверьте с помощью java -version . Дополнительные сведения см. в этом блог.
Источник: question-it.com
Руководство по созданию и запуску файла JAR в Java
Обычно удобно объединять множество файлов классов Java в один архивный файл.
В этом руководстве мы рассмотрим все тонкости работы с файлами jar — или J ava AR chive — в Java.
В частности, мы возьмем простое приложение и рассмотрим различные способы его упаковки и запуска в виде jar-файла. Мы также ответим на некоторые любопытные вопросы, например , как легко прочитать файл манифеста jar .
2. Настройка Java-программы
Прежде чем мы сможем создать исполняемый jar-файл, наше приложение должно иметь класс с основным методом . Этот класс обеспечивает нашу точку входа в приложение:
public static void main(String[] args) System.out.
println(«Hello ForEach Reader!»); >
3. Команда банки
Теперь, когда мы все настроили, давайте скомпилируем наш код и создадим файл jar.
Как запустить программу Java в Linux Mint?
Чтобы запустить программу, вам нужно только ввести ее имя. Вам может понадобиться ввести ./ перед именем, если ваша система не проверяет наличие исполняемых файлов в этом файле. Ctrl с – Эта команда отменит программу, которая работает или не будет автоматически останавливаться. Он вернет вас в командную строку, чтобы вы могли запустить что-то еще.
Как запустить JDK?
- Шаг 1: Убедитесь, что он уже установлен или нет. Проверьте, установлена ли уже Java в системе или нет. …
- Шаг 2: Загрузите JDK. Щелкните ссылку ниже, чтобы загрузить jdk 1.8 для 64-разрядной системы Windows. …
- Шаг 3: Установите JDK. …
- Шаг 4: Установите постоянный путь.
Как обновить Java в Linux Mint?
Как обновить Java в Linux Mint?
- Добавьте ППА. Откройте терминал (Ctrl+Alt+T) и выполните команду:
- Обновите и установите сценарий установки: Запустите команды, чтобы обновить индекс системного пакета и установить сценарий установки Java:
- Проверьте версию Java. …
- Установите переменные среды Java.
Какая последняя версия Java?
Платформа Java, стандартная версия 16
Ява SE 16.0. 2 является последней версией платформы Java SE. Oracle настоятельно рекомендует всем пользователям Java SE выполнить обновление до этого выпуска.
Как обновить Java в Linux?
- Шаг 1: Сначала проверьте текущую версию Java. …
- Шаг 2: Загрузите 64-битную версию Java 1.8 Linux. …
- См. шаг ниже для 32-битной версии: …
- Шаг 3: Извлеките загруженный Java-файл tar. …
- Шаг 4: Обновите версию Java 1.8 в Amazon Linux. …
- Шаг 5: Подтвердите версию Java. …
- Шаг 6: Установите путь Java Home в Linux, чтобы сделать его постоянным.
Источник: bloground.ro