Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用批处理文件运行jar文件_Java_Jar_Batch File - Fatal编程技术网

Java 使用批处理文件运行jar文件

Java 使用批处理文件运行jar文件,java,jar,batch-file,Java,Jar,Batch File,我找到了一种为资源文件设置类路径的方法。我正在使用批处理文件来运行我的JAR。我已经设置了这样的路径 echo off cd.. set BASEDIR=E:\SampleSourceCode java -Dfile.encoding=UTF-8 -cp %BASEDIR%\lib\*;%BASEDIR%\data\;%BASEDIR%\resources\ com.example.main.Main 但是现在,当我对资源文件夹(属性文件)的内容进行任何更改时,GUI无法从数据文件夹中识别数

我找到了一种为资源文件设置类路径的方法。我正在使用批处理文件来运行我的JAR。我已经设置了这样的路径

echo off
cd..
set BASEDIR=E:\SampleSourceCode
java -Dfile.encoding=UTF-8 -cp %BASEDIR%\lib\*;%BASEDIR%\data\;%BASEDIR%\resources\  com.example.main.Main
但是现在,当我对资源文件夹(属性文件)的内容进行任何更改时,GUI无法从数据文件夹中识别数据库。我该如何进行

我想你是在问:

问:如果我更改外部属性文件的内容,运行的Java进程会自动更新最初从该文件读取的属性文件吗

A:不会的

一般的解决办法是:

  • 修改程序中的属性

  • 让您的程序重新写入外部属性文件


  • 设置库以执行需要外部资源的.jar文件的最佳方法是使用以下批处理文件:

        javaw -Djava.library.path=<path to library> -jar <name>.jar
    
    javaw-Djava.library.path=-jar.jar
    

    通过这种方式,只要您更改的内容出现在您的库路径中(或在jar本身中),它仍然会被接受。

    谢谢您的回复。但正如我所说,如果我对外部属性文件进行更改。它确实反映在我的GUI上,但现在GUI无法识别其他文件。我在剧本中遗漏了什么吗?或者,是否有命令让批处理文件识别外部文件中的更新并更新JAR?如果您处于开发环境中,并且需要更新.JAR以响应外部文件更改,那么您需要“ant”: