Пакетный файл для выполнения Java-программы - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть несколько файлов .java внутри папки (например, temp / code / project) Я хочу командный файл, который будет компилировать и запускать эти файлы Java. Пакетный файл должен создавать файлы классов внутри той же структуры, в которой находятся java-файлы, начиная с папки классов (т. Е. Classes / temp / code / project)

Я не знаю, как написать командный файл. Может ли кто-нибудь помочь мне с этим? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Теоретически вы должны написать следующее:

@echo off
::compile classes
javac -cp YOUR_CLASSPATH com/yourcompany/YourClass1.java
javac -cp YOUR_CLASSPATH com/yourcompany/YourClass2.java
javac -cp YOUR_CLASSPATH com/yourcompany/YourClass3.java
javac -cp YOUR_CLASSPATH com/yourcompany/YourClassLauncher.java
:: create jar
jar cvfM Manifest.txt myjar.jar *.class
echo.
echo Hit any key to launch project.
pause
java -jar myjar.jar
pause

Если у вас есть один класс, который зависит от всех других классов в вашем проекте, достаточно запустить javac только с этим классом: компилятор скомпилирует все.

# Manifest.txt
Manifest-Version: 1.0
Class-Path: .;MyUtils.jar
Created-By: 1.6.0
Main-Class: com.yourcompany.YourClassLauncher

Это всего лишь пример и хорошее упражнение. В реальной жизни люди используют специальные инструменты сборки, такие как старый добрый муравей, Maven или новее Graidle или Buildr. Я бы порекомендовал вам взять один из них.

0 голосов
/ 10 ноября 2011

Что-то вроде

cd C:\temp\code\project
javac -classpath . -d C:\classes\temp\code\project\ *.java

Возможно, вам не нужно включать тег -classpath (я всегда так делаю, чтобы мне не приходилось беспокоиться о поддержке моей переменной CLASSPATH. Тег -dуказывает конкретный каталог для размещения сгенерированных файлов классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...