如何制作一个支持java编译器的包?
有没有办法批量创建一个java编译器/程序运行程序,可以自动编译作为包一部分的java源文件?我已经为此检查了所有的堆栈溢出,但没有发现任何东西。我目前正在使用记事本++。请注意,我这样做只是为了更好地理解java构建过程 现在,我已经设置了这个基本的编译器/运行程序:如何制作一个支持java编译器的包?,java,batch-file,package,notepad++,Java,Batch File,Package,Notepad++,有没有办法批量创建一个java编译器/程序运行程序,可以自动编译作为包一部分的java源文件?我已经为此检查了所有的堆栈溢出,但没有发现任何东西。我目前正在使用记事本++。请注意,我这样做只是为了更好地理解java构建过程 现在,我已经设置了这个基本的编译器/运行程序: javac -d ..\..\bin $(FILE_NAME) java -classpath ..\..\bin $(NAME_PART) 请注意,我使用的是记事本++特定的变量,如$(文件名)和$(名称部分)。不过你知道基
javac -d ..\..\bin $(FILE_NAME)
java -classpath ..\..\bin $(NAME_PART)
请注意,我使用的是记事本++特定的变量,如$(文件名)
和$(名称部分)
。不过你知道基本的想法。我确实知道如何从命令行(java.)运行打包类,但我不知道如何使其自动化。我希望它输出以下结果:
javac javac -d ..\..\bin $(FILE_NAME)
java -classpath ..\..\bin [packagenamevariable].$(NAME_PART)
谢谢你考虑这个问题
我已经为此检查了所有的堆栈溢出,但没有发现任何东西
这是因为仅使用BAT脚本编写通用Java编译/运行框架非常困难
而且没有必要
我目前正在使用记事本++,不希望当前更改为IDE
那很好。您不必使用IDE
相反,您可以安装支持Java的构建工具,如Ant、Maven或Gradle
(对于库依赖性最小的小项目,Ant会很好地工作。对于更大的项目,Maven或Gradle会更好。)因为我发现它比Ant要简单得多 非常小的
gradle
设置如下所示:
.
├── build.gradle
└── src
└── main
└── java
└── com
└── foo
└── bar
└── Main.java
其中build.gradle
包含
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.foo.bar.Main"
和Main.java
package com.foo.bar;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
安装了gradle
后,您只需调用gradle run
即可执行以下操作:
$ gradle run
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:run
Hello world
BUILD SUCCESSFUL
Total time: 0.836 secs
除了运行外,还有其他任务。看
一个有用的任务是installDist
,它创建一个.bat文件来启动/build/install/{projectname}/bin/{projectname}.bat
中的代码。这样你就可以在没有梯度噪声的情况下启动代码
通过使用gradle包装器,也可以使用gradle而无需在系统上安装:
- 将上述命令中的
gradle
替换为gradlew.bat
- 获取所需文件(
gradlew.bat
和/gradle/wrapper
中的文件)的最简单解决方案是从拥有它们的项目中窃取它们。从github随机选取:
如果您想将编译和运行限制在一个包中(我想这个包是一个更大项目的一部分),可以使用Ant脚本。如果是整个项目,我会建议与Maven合作。非常感谢。我对Ant有过一些了解,但我从未真正理解过它与编译的关系。而且,我找不到一种方法来自动创建xml文件。谢谢你;我可能会问另一个关于Ant的问题。如果您想自动创建“build.xml”文件,请使用IDE:-)。谢谢,这很好。我已经看了Gradle教程一段时间了,但我对Gradle的工作有点困惑。这很有帮助。