Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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类路径中的XML文件_Java_Xml_Jar_Manifest - Fatal编程技术网

找不到java类路径中的XML文件

找不到java类路径中的XML文件,java,xml,jar,manifest,Java,Xml,Jar,Manifest,我一直在尝试将一些配置文件添加到JAR清单类路径中。比如Spring、Log4j文件等。。。当我运行jar时,它会在类路径上选择其他jar,这样它就可以运行应用程序启动程序类(在另一个jar中),但它只在jar所在的目录中查找XML文件,即使我可以在清单上看到它的路径 关于如何解决这个问题,有什么想法吗?尝试在java命令行上使用verbose class load开关来运行它,以确保JAR中的类实际上正在加载 MANIFEST.MF中的行长度限制为72字节-请确保那里没有长行 类路径与XML文

我一直在尝试将一些配置文件添加到JAR清单类路径中。比如Spring、Log4j文件等。。。当我运行jar时,它会在类路径上选择其他jar,这样它就可以运行应用程序启动程序类(在另一个jar中),但它只在jar所在的目录中查找XML文件,即使我可以在清单上看到它的路径


关于如何解决这个问题,有什么想法吗?

尝试在java命令行上使用verbose class load开关来运行它,以确保JAR中的类实际上正在加载

MANIFEST.MF中的行长度限制为72字节-请确保那里没有长行


类路径与XML文件有什么关系?据我所知,类路径是用于类加载的。要访问JAR中的文件,通常使用Object.getResource()。你到底想做什么?@Sergey:resources也在类路径上(想想log4j.properties)是的,你是对的,我把它放错了方向。但是stwb说“它只在jar所在的目录中查找XML文件”,所以在我看来,他试图将它们作为普通文件而不是资源来访问,这是我的主要观点。当它进入代码中查找default.log4j.properties的部分时,它只在/project/dist中查找,我们项目的JAR文件的位置。XML文件的实际路径project/resources包含在清单中的类路径中,但它没有在那里检查,它只是说“找不到project/dist/default.log4j.properties”。但是,它会在project/lib.dim中获取包含主类的JAR的路径。队伍很长。前72个字节会被读取还是会被忽略?另外,有没有一种方法可以在不覆盖以前的类路径定义的情况下拥有两个多类路径定义?在UTF8编码形式中,任何行的长度都不能超过72字节(不是字符)。如果某个值会使初始行长于此值,则应在额外的行上继续该值(每个行以单个空格开始)。最好使用诸如ant或maven之类的构建工具来为您生成清单文件——它们将正确处理这个问题——好吧,我使用ant,所以这一定不是问题所在。我决定尝试一种不同的方法,转而尝试从Ant构建文件运行jar。只需使用jar属性执行一次测试,并在其中设置类路径。希望这会产生更好的结果。你找到答案了吗?我也有同样的问题。。。我无法通过manifest.mf文件的类路径加载log4j2.xml。我怎么做?