我在文件夹中有多个.java文件(例如temp / code / project) 我想要一个批处理文件来编译和运行这些java文件。 批处理文件应该在java文件所在的同一结构中创建类文件,从classes文件夹开始(即classes / temp / code / project)
我不知道如何编写批处理文件。任何人都可以帮助我吗?提前谢谢。
答案 0 :(得分:1)
理论上你应该写下以下内容:
@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
这只是一个例子,也是一个很好的练习。在现实生活中,人们使用特殊的构建工具,如好的旧Ant,Maven或更新的Graidle或Buildr。我建议你带上其中一个。
答案 1 :(得分:0)
的内容
cd C:\temp\code\project
javac -classpath . -d C:\classes\temp\code\project\ *.java
您可能不需要包含-classpath标记(我总是这样做,我不必担心维护我的CLASSPATH变量。-d标记指定放置生成的类文件的特定目录。