【发布时间】:2012-11-15 06:30:56
【问题描述】:
这应该很简单,但花了我几个小时。我在这个网站上找到的所有内容都表明我做得对,但仍然找不到该文件。
在一个 jar 文件中,我在顶层有两个文件“CDAkeystore.jks”和“CDAtruststore.jks”。
然而当我打电话时
securityProps.setProperty("javax.net.ssl.keyStore","CDAkeystore.jks");
我收到系统找不到请求的文件错误。
调用此方法的类文件在通常的包排列中位于同一个 jar 中。
jar文件如下:
com ..... (a lot more class files)
org ..... (lots of class files)
META-INF
CDAtruststore.jks
CDAkeystore.jks
这怎么会这么难?!!
------添加信息-----n
由于使用路径的对象是开源的,我找到了他们用来加载文件的例程。它是:
InputStream keystoreInputStream = preBufferInputStream(new FileInputStream(keyStoreName));
根据 FileInputStream(String name) 的文档是
通过打开与实际文件的连接来创建 FileInputStream,该文件由文件系统中的路径名“name”命名。那么这条路径应该如何表达呢?
【问题讨论】:
-
是的,但不幸的是它的库代码正在抓取文件;我只需要将路径作为字符串提供。库代码使用一个 Property 对象来获取各种值;文件的路径就是其中之一。