我需要从我的java应用程序在jar可执行文件中读取外部XML文件。
如果我从控制台(java -jar package.jar)中进行午餐,它可以正常工作,但如果我通过双击(Java Platform SE SE binary)进行午餐,则它不起作用。
我有相对路径的这个问题。 绝对路径,它的工作方式。如何从jar中读取外部xml文件
3
A
回答
3
您需要将XML磁贴的(JAR相对)路径添加到MANIFEST.MF
文件中的Class-Path
条目。该条目包含有关JAR运行时类路径的信息。假设你想在XML在同一个文件夹中的JAR文件本身,以下就足够了:
Class-Path: .
(不要忘了把一个空白行中MANIFEST.MF
文件的结尾)
然后,您可以使用Class#getResource()
或ClassLoader#getResource()
作为类路径资源获取它。你的情况第一就够了。
URL xmlResource = getClass().getResource("/filename.xml");
File xmlFile = new File(xmlResource.getPath());
// ...
1
将该文件添加到JAR清单中的类路径中,并将其作为输入流进行读取。
0
(new File(".")).getAbsolutePath();
应该给你的jar路径。打印出来仔细检查,然后建立你的相对路径。
+1
这将返回当前工作目录,而不是jar文件的路径。 – gawi 2010-09-08 14:44:37
1
0
很难给出一个准确的答案不知道你正在运行的操作系统。
一般的答案是修改启动器(桌面上的图标),以便将初始工作目录指定为与从shell运行命令时使用的目录相同。
相关问题
- 1. Android - 从外部jar读取txt文件
- 2. 从JAR文件外部读取文本文件?
- 3. jar文件如何读取外部属性文件
- 4. 从jar中读取外部配置文件
- 5. 创建并读取jar文件以外的xml文件
- 6. 从外部文件中读取android URL
- 7. 从外部表中读取Excel文件
- 8. 从外部文件中读取数据
- 9. 在java中读取jar外的xml文件
- 10. 从Spring JAR读取文件
- 11. 如何在servlet上下文中从jar文件中读取xml架构
- 12. 从cmd中引用外部jar文件运行jar文件
- 13. 创建/写入/读取Jar存档外部的文本文件
- 14. 你如何得到焦点从外部js文件中读取
- 15. 从外部文件读取参数 - C#
- 16. 从外部Excel文件读取数据
- 17. Bash从外部文件读取数组
- 18. 在Web应用程序中从JAR读取XML文件
- 19. 如何从xml文件读取数据
- 20. 如何从Resources.resx读取.xml文件?
- 21. 如何从xml文件读取图像?
- 22. 如何使用外部java jar文件创建jar文件
- 23. 如何从spring xd模块jar中读取文本文件
- 24. 在jar中读取文件
- 25. 如何调试外部JAR文件
- 26. 如何读取XML文件
- 27. Uber jar没有读取外部属性文件
- 28. 使用Windows Batch读取JAR文件中的XML文件
- 29. 如何从外部库中排除'jar'文件
- 30. XML,XSL,如何从XML文件读取子节点XSL文件
我该如何添加? – enfix 2010-09-08 14:31:03
我读过它(db.parse(new File(filePath))),但我需要编辑,所以我不能将它包含到jar文件中。 – enfix 2010-09-08 14:31:42
不,不FilePath - 这是脆弱和容易出错。 getResourceAsStream()是正确的读取方式。编辑和写作是另一回事。 – duffymo 2010-09-08 15:37:10