我试图在第三方应用程序中绑定到我们的项目,但发现其属性文件的unix路径已被硬编码分成几类。对它们的设置进行微小的改变可能是可能的,所以我的问题是:什么是可能的(最快的)方法来实现这一点?第三方应用程序既不使用ant也不使用spring,而只使用构建脚本将代码编译为从命令行调用的.jar。在java应用程序中为属性文件提取硬编码路径名的可能方法
0
A
回答
3
您可以将属性文件作为资源读取。然后你只需要把包含这些文件的目录放到你的classpath中。
1
你实际上并没有说你想达到什么。你的应用程序是否会确定一些路径并通过API将它们传递给第三方应用程序?你的环境中的东西(例如命令行参数)是否指定了文件的位置?
我会先重构他们的代码,以便我确定地知道任何硬编码的字符串都保存在一个定义的位置。所以,举例来说,如果他们有
readProperties("/usr/thing/propertyFileXxx.txt");
或
static final String PROPERTY_XXX = "/usr/thing/propertyFileXxx.txt";
readProperties(PROPERTY_XXX);
我首先整合到一个单一的存取的性能
readProperties(PROPERTY_XXX_ENUM);
所以现在我们有一个明确的单件确定从何处获取每种类型属性的代码以及特定类型的特定列表。
然后,我们需要一些可控制的方式来定义在运行时使用的属性文件集合。我已经使用@tangens建议的方法来加载属性作为来自添加到类路径的特定目录的资源。
相关问题
- 1. 从Java程序中删除硬编码的文件路径
- 2. 避免属性文件路径规范的硬编码
- 3. 将硬编码文件路径更改为在VBA中提示的用户?
- 4. Java属性,获取文件路径
- 5. 无法读取Java Web应用程序中的属性文件?
- 6. 为属性文件指定Java路径
- 7. Java文件路径编码?
- 8. 在Centennial应用程序中获取文件的文件路径
- 9. 避免.resx文件中的硬编码图标文件路径
- 10. Java - 获取“程序文件”路径
- 11. 更换硬编码路径
- 12. 路径不被硬编码
- 13. 在java web应用程序中获取上下文路径
- 14. 读取Hadoop MapReduce应用程序中的Java属性文件
- 15. 可能获得在Java中调用方法的类的文件路径?
- 16. 无法在java路径中找到属性文件
- 17. Java应用程序属性文件
- 18. Singleton在Java Web应用程序中读取属性文件;正确的做法?
- 19. 硬编码C中的相对路径#
- 20. 在Cocoa应用程序中获取文件夹的路径
- 21. Java:在类路径上加载和编辑属性文件
- 22. 使用vb.net中的文件路径以编程方式终止应用程序
- 23. 调用java属性文件时应使用哪个路径?
- 24. Grails应用程序中的类路径属性文件未被使用
- 25. linux文件名(完整路径)编码
- 26. 如何从文件路径名中提取文件名?
- 27. 将相对路径作为属性文件中的属性
- 28. 使用COMPS构建C/C++应用程序时出错:硬编码路径
- 29. 无法读取文件绝对路径(以应用程序包)
- 30. 在属性文件中存储路径
宁可开箱即用,但可以创建符号链接来模仿您的unix安装程序上的硬编码路径吗? – Rahul 2009-10-27 08:33:41
我不知道,但我怀疑这可以在Windows上工作,因为共享文件夹的形式为// path/goes/here,即带有双斜杠。布我可能是错的那里... – davek 2009-10-27 08:35:42