Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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 通过bootclasspath将xml文件添加到类路径_Java_Jar_Bootclasspath - Fatal编程技术网

Java 通过bootclasspath将xml文件添加到类路径

Java 通过bootclasspath将xml文件添加到类路径,java,jar,bootclasspath,Java,Jar,Bootclasspath,以下场景: 我正在为编译为可运行JAR的小型服务系统扩展一个管理工具。这些服务在其类路径中使用xml配置来执行大量任务 现在我想从编译的jar文件中提取配置文件,比如db配置,并将它们动态添加到类路径中。到目前为止,如果您想要更改数据库的设置,您需要重新编译整个套件,这是各种各样的错误 我所尝试的: java-Xbootclasspath/p:/path/db.xml java-jar Foo.jar-这会导致java vm错误 java-Xbootclasspath/p:/path/db.ja

以下场景:

我正在为编译为可运行JAR的小型服务系统扩展一个管理工具。这些服务在其类路径中使用xml配置来执行大量任务

现在我想从编译的jar文件中提取配置文件,比如db配置,并将它们动态添加到类路径中。到目前为止,如果您想要更改数据库的设置,您需要重新编译整个套件,这是各种各样的错误

我所尝试的: java-Xbootclasspath/p:/path/db.xml java-jar Foo.jar-这会导致java vm错误 java-Xbootclasspath/p:/path/db.jar java-jar Foo.jar-这似乎没有任何作用,我试图通过下面的脚本在类路径中找到xml文件,但我一直无法找到。xml直接位于使用jar cvMf db.jar db.xml创建的jar中

我使用的脚本:

ZipFile zf;
    ZipFile zf;
try{
    zf = new ZipFile("Foo.jar");
} catch(final ZipException e){
    throw new Error(e);
} catch(final IOException e){
    throw new Error(e);
}
final Enumeration e = zf.entries();
while(e.hasMoreElements()){
    final ZipEntry ze = (ZipEntry) e.nextElement();
    final String fileName = ze.getName();
    final boolean accept = Pattern.compile(".*(xml)").matcher(fileName).matches();
    if(accept){
        log.debug(fileName);
    }
}

我希望有人能帮助解决这个问题,我不知道还有什么可以尝试。

我已经重新打包了xml,现在它似乎工作正常。抱歉不必要地发布。

那么您想引用绑定在jar中的xml文件吗?如果是这样,您可以按照所述在类路径中加载资源,那么您不能将-classpath与-jar一起使用。编辑:同样,bootclasspath arguemnt似乎没有将jar的内容添加到我的类路径中