执行java程序的批处理文件

发布于 2024-12-14 11:32:55 字数 189 浏览 0 评论 0原文

我的文件夹中有多个 .java 文件(例如 temp/code/project) 我想要一个批处理文件来编译并运行这些java文件。 批处理文件应该在与java文件所在的结构相同的结构中创建类文件,从classes文件夹(即classes/temp/code/project)开始

我不知道如何编写批处理文件。有谁可以帮我解决这个问题吗?提前致谢。

I have multiple .java files inside a folder (e.g temp/code/project)
I want a batch file that will compile and run these java files.
The batch file should create class files inside the same structure where java files are located starting with the classes folder (i.e classes/temp/code/project)

I don't know how to write a batch file. Can any body help me with this? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

壹場煙雨 2024-12-21 11:32:55

理论上,您应该编写以下内容:

@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。我建议你选择其中之一。

Theoretically you should write the following:

@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

If you have one class that depends on all other classes in your project it is enough to run javac with this class only: compiler will compile everything.

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

This is only example and a good exercise. In real life people use special build tools like good old Ant, Maven or newer Graidle or Buildr. I'd recommend you to take one of them.

女皇必胜 2024-12-21 11:32:55

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

可能不需要包含 -classpath 标签(我总是这样做,这样我就不必担心维护我的 CLASSPATH 变量。 -d 标签指定一个特定的目录来放置生成的类文件。

Something along the lines of

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

You may not need to include the -classpath tag (I always do so that I don't have to worry about maintaining my CLASSPATH variable. The -d tag specifies a particular directory to place generated class files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文