1

当我想打开密钥库时出现此异常

java.io.FileNotFoundException: \resources\keystore (The system cannot find the path specified)

基本上我的应用程序就像

src/
    client.java
    server.java
    resources/
        keystore
        truststore

和错误的代码:

System.setProperty("javax.net.ssl.keyStore","/resources/keystore");
System.setProperty("javax.net.ssl.keyStorePassword", "redacted");

我还尝试了 ./resources/keystore、resources/keystore、\\resources\\keystore 等。

我的应用程序应该在一个可执行的 jar 中工作,所以请不要使用绝对路径技术。

4

3 回答 3

1

您可以使用它来获取当前目录路径:

Java 代码:

String currentDir = new File(".").getAbsolutePath();

或这个:

Java 代码:

String currentDir = System.getProperty("user.dir");

于 2012-12-06T11:01:57.370 回答
1

如果您可以将资源放在 CLASS_PATH 中,则可以使用

Thread.currentThread().getContextclassLoader().getResource(keystore)
于 2012-12-06T11:04:02.087 回答
0

关于不同的斜线:使用File.separator代替/,那么它应该在"resources" + File.separator + "keystore"(未测试)。

于 2012-12-06T11:02:07.167 回答