Bat file java command

Как запустить Java-приложение по .bat-файлу [duplicate]

Точно так же вы запускаете его из командной строки. Просто поставьте эту «командную строку» в файл «.bat».

Итак, если вы используете java -cp .;foo.jar Bar , поместите это в .bat файл как

@echo off java -cp .;foo.jar Bar 
@echo off echo You Are going to creata Java Class set /p Name=Enter your Class Name?: echo Your class Name is %Name% & pause echo To creat a Notepad pause notepad %Name%.java set path=%PATH%;C:\Program Files\Java\jdk1.6.0_14\bin pause javac echo Your java Path succsussfully set. javac %Name%.java pause echo Successfully Compiled java %Name% pause 

1) открыть notpad 2) скопируйте и пропустите этот код и сохраните этот файл как ex: test.bat 3) Дважды щелкните пакетный файл. 4) поместите свои java-коды в блокнот и сохраните их как N.B.: сохранить этот java файл в той же папке, что и ваш пакетный файл.

Команда javac будет компилировать java-программу, а команда java запустит программу, а pause приостановит результат до тех пор, пока вы не пересечете его.

Если у вас есть файл jar, то создайте файл bat с помощью:

Вызвать класс, который имеет метод main().

Здесь MyClass будет иметь метод public static void main() .

  • javac (.exe в Windows) двоичный путь должен быть добавлен в глобальную PATH окр. переменная. javac MyProgram.java
  • или с java (.exe в Windows) java MyProgram.jar

Ещё вопросы

  • 0 как использовать show () и hide () с задержкой ()?
  • 1 Как я могу сохранить hourOfDay и минуты из timePickerDialog, чтобы сравнить его с какой-то другой переменной?
  • 1 Как я могу цикл через кучу кнопок, чтобы уменьшить код?
  • 1 Что означает «поддержка» в Android?
  • 0 Показать результаты из выпадающего списка, затем клонировать и добавить еще один выбор
  • 1 Издевательское личное поле класса
  • 1 Android Studio — сбой службы после того, как WebView использует файл: /// для отображения локального веб-сайта
  • 0 Не удается получить .focus () для фокусировки на входе с идентификатором в Chrome, Safari и FF
  • 1 При использовании FileOpenPicker, как открыть экран «Выбор приложения», как в приложении OneDrive?
  • 0 Spring boot schema.sql не работает с файлом mysqldump
  • 1 Лучший способ написать для цикла при возможности доступа к элементам в контейнере Python
  • 1 ASP SQL Update страницы просмотров при щелчках ссылок
  • 0 Оценка постфиксного выражения. pop () возвращает неверные значения для вычисления функции
  • 1 Загрузка элементов из массива в Angular 2
  • 0 Неожиданное завершение выражения ng-keypress в angularjs
  • 1 Адаптирование spymemcached Java-клиента GetFuture к Guava ListenableFuture
  • 0 Ошибка «Необходимо указать поле grant_type» при получении токена Oauth2
  • 1 Определить задачу Checkstyle с плагином Android Gradle 3.4.0
  • 0 Ошибка на Openshift
  • 0 Как сделать снимок конечного результата после удаления элемента на изображение с помощью JavaScript?
  • 1 POI API — ссылка на шрифт по пути
  • 1 Knexjs PgSQL JSON запрос
  • 0 Выбранное значение для клонированного элемента не работает должным образом
  • 0 PHP пока петли в то время как петли не работают
  • 0 Как скрыть URL при печати страницы с помощью JavaScript или JQuery
  • 1 Key Listener не работает?
  • 1 Не удается изменить права доступа к файлам Java
  • 0 Добавление анимации слайдов для повторения
  • 0 преобразование текста: полная ширина не работает в Опере — HTML
  • 1 проверить, равен ли элемент списка любому другому элементу в списке, используя цикл for
  • 0 Форма размещения статического сайта в другом домене
  • 0 Добавить или удалить класс Css, когда входное значение равно нулю или не равно нулю
  • 1 Java-сервлеты: проверка XML на xsd
  • 0 Поиск в MySQL с использованием JOIN или коррелированного подзапроса с TEMPORARY TABLE
  • 0 getElementsByName какое имя?
  • 0 Что я вернусь к удаленному методу JQuery?
  • 1 Struts2 — пересылка по аннотации с динамическим параметром
  • 1 Загрузите текстовый файл cookie в Python
  • 0 Как создать таблицу «соединения» с информацией о двух отдельных таблицах в MySQL?
  • 1 Полимер 2.0 Edge Issue
  • 0 Причудливая шкатулка с URL
  • 0 Угловой запрос http
  • 0 Выдвижной ящик плохой FPS на мобильном телефоне
  • 0 Google Map Angular JS
  • 1 Как расширить несколько миксинов в одном элементе Polymer?
  • 0 Выпадающая проблема — приложение для мобильного браузера на IOS 7
  • 1 Строка рейтинга показывает половину звезды, несмотря на шаг установки в 1
  • 0 CSS негативное фоновое изображение
  • 0 Определите, является ли изображение векторным или растровым с помощью PHP
  • 1 Печать / предупреждение для нулевых значений с именем столбца и счетчиком
Читайте также:  Изменить input radio css

Источник

Код Java в bat-файле

Маленькая забавность о том, как использовать все возможности Java в обычных bat-скриптах. Или сделать скриптовый язык из Java.

Далее рассказан простой способ скомпилировать и запустить Java код, который находится внутри bat-файла.

Навеяно статьёй Код С# в bat-файле. Я реализовал тоже самое для Java. Только я не стал делать поиск папки в которую установлен JDK, т.е. в переменной %PATH% должен быть указан путь к %JDK_HOME%/bin

Не буду долго томить, вот код bat файла Test.bat:

/* copy %0 .\%~n0.java javac %~n0.java cls java %~n0 del %~n0.class del %~n0.java exit */ public class Test < public static void main(String[] args) throws Exception < System.out.println("Hello world from Java!"); System.out.println("Press Enter to exit"); System.in.read(); >>

Выполнив полученный батник увидим:

  1. Сначала работает bat-интерпретатор. Первую строчку скрипта (комментарий Java /*) он не понимает и выдает ошибку. Но не страшно, это чисто визуальное неудобство.
  2. Затем мы копируем бат файл в файл с таким же именем но уже с расширением *.java, иначе компилятор javac откажется его компилировать. Выражение %~n0 вернёт имя файла без расширения: параметр 0 всегда имя файла а квалификатор n только имя файла. Следите за названием файла, поскольку имя *.java файла должно соответствовать имени класса внутри него.
  3. Далее компилируем консольным компилятором javac который в качестве аргумента принимает путь к файлу с исходником. В нашем случае исходник находится в теле bat-файла (строки 10–18). Текст bat-команд игнорируется, как комментарий (строки 1 и 9).
  4. После работы компилятора, получаем class файл, который запускаем (предварительно подчистив экран командой cls) и удаляем после завершения его работы.
  5. Работа bat-интерпретатора заканчивается на 8 строке (exit).

Если есть трудности с синтаксисом bat скриптов могу посоветовать хорошую статью.

Это был пример, я использую ещё немного улучшенный вариант bat файла. В случае ошибок компиляции он их выведет. Ещё также он добавит в CLASSPATH все *.jar файлы которые он найдёт рядом.

/* @echo off copy %0 .\%~n0.java cls javac -classpath CLASSPATH=.\*.jar;.\lib\*.jar %~n0.java if %ERRORLEVEL% equ 0 ( cls java %~n0 del %~n0.class ) del %~n0.java exit */ public class Test < public static void main(String[] args) throws Exception < System.out.println("Hello world from Java!"); System.out.println("Press Enter to exit. "); System.in.read(); >>

Целесообразность, скорее just for fun. Но иногда бывает удобнее выслать новичку один файл, уже с прописанной строчкой компиляции, который нужно просто выполнить.

UPD

Узнал о библиотеке Launch4j которая может превратить ваш jar файл в обычный запускаемый exe

Источник

Как запустить Java-приложение по .bat-файлу [duplicate]

Точно так же вы запускаете его из командной строки. Просто поставьте эту «командную строку» в файл «.bat».

Итак, если вы используете java -cp .;foo.jar Bar , поместите это в .bat файл как

@echo off java -cp .;foo.jar Bar 
@echo off echo You Are going to creata Java Class set /p Name=Enter your Class Name?: echo Your class Name is %Name% & pause echo To creat a Notepad pause notepad %Name%.java set path=%PATH%;C:\Program Files\Java\jdk1.6.0_14\bin pause javac echo Your java Path succsussfully set. javac %Name%.java pause echo Successfully Compiled java %Name% pause 

1) открыть notpad 2) скопируйте и пропустите этот код и сохраните этот файл как ex: test.bat 3) Дважды щелкните пакетный файл. 4) поместите свои java-коды в блокнот и сохраните их как N.B.: сохранить этот java файл в той же папке, что и ваш пакетный файл.

Команда javac будет компилировать java-программу, а команда java запустит программу, а pause приостановит результат до тех пор, пока вы не пересечете его.

Если у вас есть файл jar, то создайте файл bat с помощью:

Вызвать класс, который имеет метод main().

Здесь MyClass будет иметь метод public static void main() .

  • javac (.exe в Windows) двоичный путь должен быть добавлен в глобальную PATH окр. переменная. javac MyProgram.java
  • или с java (.exe в Windows) java MyProgram.jar

Ещё вопросы

  • 0 Объект, два выпадающих списка, ng-options и привязка значения
  • 0 SDL_Surface отказывается от блиц
  • 1 Понимание поведения тензорного потока при извлечении данных из двух разных источников данных с помощью набора данных API
  • 0 Находите область дат из MySQL эффективно
  • 0 PHP парсинг XML
  • 0 Как обновить страницу и добавить параметр URL?
  • 1 Сборка приложения Flutter не выполняется, нужна помощь для устранения зависимостей
  • 0 Задать недопустимое поле формы / поля ввода для сервера $ asyncValidators
  • 0 Как я могу автоматически обновлять месяцы?
  • 0 Как написать предложение WHERE с Datetime, используя Sequelize в Node
  • 1 найти индекс значений, содержащих ключевое слово в массиве python [duplicate]
  • 0 Обновление выпадающего списка из кода с использованием Javascript / JQuery
  • 0 sql выбрать диапазон дат в следующем году
  • 0 угловой JS NG-повтор в одном элементе textarea
  • 0 Изменить цвет метки на активном поле ввода
  • 0 многократная загрузка путей сохранения в базе данных не работает
  • 1 Android — не удается обнаружить QR-код с библиотекой zxing
  • 1 Как изменить значение логического значения при нажатии кнопки JButton
  • 1 Ошибка: не указан путь к программе JavaScript
  • 0 Выполнение запроса MySQL с использованием Python MySQL?
  • 1 Исключение в потоке «main» java.awt.AWTError: Вспомогательная технология не найдена: ошибка com.sun.java.accessibility.AccessBridge
  • 0 Как вставить новую строку в таблицу через angularjs?
  • 0 Вектор подмножеств
  • 0 Специальная функция в сообщении об ошибке
  • 0 PHP поймать должным образом
  • 1 Может ли использование обнуляемых структур улучшить производительность?
  • 0 создание пользовательской базы данных в GAE Java
  • 0 Ошибка: недопустимое значение для атрибута x = «NaN» в angularJS nvd3-multi-bar-chart
  • 1 Как передать только сообщения об ошибках из модели в контроллер (Mongoose)?
  • 0 Google Places хранит результаты в Mysql с PHP
  • 1 Как получить текущее имя файла из функции внутри другого файла?
  • 0 Значения по умолчанию по запросу переменной
  • 0 Скрыть родительский вид при отображении вложенных представлений
  • 1 Как сгруппировать по дате с пандами?
  • 1 Pandas_Merge два больших набора данных
  • 0 Вставить несколько строк в laravel с полезной нагрузкой JSON
  • 0 Как обновить набор указателей с ++?
  • 0 ng-repeat приводит к неправильному положению якоря
  • 0 SQL-запрос для поиска общих элементов в списках столбцов между таблицей и указанными критериями?
  • 1 Использование условия в LINQ
  • 0 Проблема приведения лямбда в std :: function
  • 0 Наилучшая практика для включения скриптов в угловые шаблоны?
  • 1 Threejs применяет отсечение к определенной области объекта
  • 0 Чтобы получить экземпляр li с выбранным значением в его div, используя JQuery
  • 0 Получение данных формы с помощью PHP
  • 0 Jquery не воспроизводит последовательность видео
  • 1 Как я могу обновить переменную внутри целого класса kotlin с помощью метода, а затем получить его обновленным с помощью другого вызова метода
  • 0 Как связать событие изменения JQuery для динамических таблиц / строк?
  • 1 Каковы лучшие практики для написания модульных тестов с помощью фреймворков

Источник

Оцените статью