Java 将批处理文件打包到jar文件中
我想知道是否可以将批处理文件与java应用程序一起“打包”(作为单个jar)。我的应用程序执行一个批处理文件,因此硬编码我必须编写批处理文件的路径。我担心的是,我希望可以调用批处理文件,而无需更改部署应用程序的每台机器的路径。。。。使用Eclipse作为IDE 这是我的代码,它工作得很好,但正如我所说的,我希望将批处理文件作为一个普通的java类导入调用Java 将批处理文件打包到jar文件中,java,batch-file,jar,Java,Batch File,Jar,我想知道是否可以将批处理文件与java应用程序一起“打包”(作为单个jar)。我的应用程序执行一个批处理文件,因此硬编码我必须编写批处理文件的路径。我担心的是,我希望可以调用批处理文件,而无需更改部署应用程序的每台机器的路径。。。。使用Eclipse作为IDE 这是我的代码,它工作得很好,但正如我所说的,我希望将批处理文件作为一个普通的java类导入调用 public class LogFileScanner { private final String dir
public class LogFileScanner
{
private final String dir_of_log = "<My Directory>";
private final String dir_of_batch = "<My Directory>\\Java_Tools";
private final int toGigaByte = (1024*1024)*1024;
private double size_in_GIGA;
private String cur;
.
.
.
try
{
Runtime.getRuntime().exec("cmd /c start DailyAuto2.bat", null, getBatchFile());
}
.
.
.
private File getBatchFile()
{
File batchFile = new File(dir_of_batch);
return batchFile;
}
}
将批处理文件放在源代码树中的某个位置,使其成为.jar中包含的“资源”。那么
- 使用
获取内容或java.lang.Class.getResourceAsStream(String)
- 使用
获取URL,然后在java.lang.Class.getResource(String)
private File getBatchFile()
{
dir = LogFileScanner.class.getResource("DailyAuto2.bat").toString();
dir = dir.replace("/", "\\\\");
dir = dir.substring(7, dir.length()-16);
File batchFile = new File(dir);
return batchFile;
}