无法找到指定java的文件(maven配置)

时间:2018-03-11 15:22:07

标签: java maven file filenotfoundexception

我正在尝试引用maven项目结构中的文件。通过我的测试用例,文件成功定位,但是当我将项目部署到weblogic环境时,我收到一个错误:

  

java.io.FileNotFoundException:   keystore.jks(系统不能   找到指定的路径)

在我的代码中,我指的是以下文件:

File pKeyFile = new File("certificates/keystore.jks");
String pKeyPassword = keyStorePassword;
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
KeyStore keyStore = KeyStore.getInstance("JKS");
InputStream keyInput = new FileInputStream(pKeyFile);

更新

我尝试了以下内容:

File pKeyFile = new File(this.getClass().getClassLoader().getResourceAsStream("certificates/keystore.jks").toString());
        String pKeyPassword = keyStorePassword;
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
        KeyStore keyStore = KeyStore.getInstance("JKS");
        InputStream keyInput = new FileInputStream(pKeyFile);
        keyStore.load(keyInput, pKeyPassword.toCharArray());
        keyInput.close();
        keyManagerFactory.init(keyStore, pKeyPassword.toCharArray());

当我评估this.getClass()。getClassLoader()。getResourceAsStream(" certificates / keystore.jks")表达式时,我可以看到找到了该文件。但是当它试图将文件作为InputStream加载时,它仍然会抛出相同的错误。

1 个答案:

答案 0 :(得分:0)

你不能写

File pKeyFile = new File("src/main/resources/certificates/keystore.jks");

在Java路径中可以是:

  1. 绝对
  2. 亲戚:那是你的情况
  3. Classpath资源
  4. 相对路径从程序运行的位置开始。所以使用src /肯定是错误的