添加和访问资源文件到Play Framework应用程序

时间:2012-10-17 22:46:16

标签: java playframework cloudfoundry

我正在运行PlayFramework 2应用程序。该应用程序将客户端身份验证的SSL会话构建到第二台服务器。为此,我将Java Keystore文件存储在资源目录中。在我当地的盒子上一切运行良好。接下来,我创建一个dist包,用于上传到Cloud Foundry,它实际上构建了一个带有大量Jars的war文件。知道如何在编译成Jar并上传到CloudFoundry之后如何从我的java代码访问Keystore?任何方向将不胜感激。这是当前的代码段。

最佳,

SR

//READS THE JAVA KEYSTORE FILE FROM A RELATIVE LOCATION
File clientKS = new File("resource/devportal.jks");

//SET CONNECTION PARAMS             
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","application/json");
con.setDoOutput(true);
con.setSSLSocketFactory(getFactory(clientKS, passphrase.toCharArray()));

2 个答案:

答案 0 :(得分:1)

假设除了使用java.io.File之外没有其他方法,你可能想尝试通过将它放在应用程序的类路径中并执行类似

的操作来获取它。
AnyClassOfYourApp.class.getResource("devportal.jks").getFile()

答案 1 :(得分:0)

已经有一段时间了,但试试这个:

    //TESTING BY USING INCLUDED KEYSTORE IN JAR FILE
    String ksPath = "/res/devportal.jks";
    URL jksURL = PostNvp.class.getResource(ksPath);
    File jksStore = new File(jksURL.toURI());
    //TESTING

PostNvp是我的java类PostNvp.java,其中包含此代码段。