最近我对Manifest.mf文件中的类路径感到有些困惑。所以我想要的是将一些properties.files外包给我的distribution.jar并将它们放在它旁边而不改变java-source-files。
以下示例:此时我可以打开这样的属性文件:
this.getClass().getClassLoader().getRessourceAsStream( "/config/jdbc.properties" );
jdbc.properties位于一个名为“resources”的eclipse源文件夹中,其中包含一个名为“config”的包。现在,当我构建发行版时,我将它们外包到distribution.jar旁边的文件夹中,但我仍然希望在不更改显示的源代码的情况下找到它们。
直到现在才有效的解决方案(没有绝对路径)是以下清单.mf:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.1-b03 (Sun Microsystems Inc.)
Main-Class: com.ymene.Main
Class-Path: .
“。”在Class-Path中似乎指向.jar的根目录?我以前从未在任何清单文件中看到它。所以我想知道,如果这是实现我不希望改变我的java源代码的正确方法,无论资源是否会在jar内部或外部构建,只要路径是相同的。
任何人都可以告诉我,如果“。”在manifest.fm文件中会对我产生任何不良副作用吗?如果不是这样的话,是否有可能用Ant生成Manifest.mf Class-Path条目(“我的意思是”)?或者还有其他解决办法吗?
提前感谢您对此主题的任何帮助, ymene
答案 0 :(得分:4)
单点表示“此目录”。