相关疑难解决方法(0)

如何获取Java JAR文件中的资源路径

我正试图找到资源的路径,但我没有运气.

这有效(在IDE和JAR中)但这样我无法获得文件的路径,只有文件内容:

ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
Run Code Online (Sandbox Code Playgroud)

结果是: java.io.FileNotFoundException: file:/path/to/jarfile/bot.jar!/config/netclient.p (No such file or directory)

有没有办法获得资源文件的路径?

java resources path

158
推荐指数
8
解决办法
28万
查看次数

java - trustStore的路径 - set属性不起作用?

我已经设置了一个自签名证书来测试ssl java连接 - 但是,它拒绝找到java trustStore.我已经在/ Java/jre6/lib/security中保存了它的副本,除了编译类的文件夹(使用netbeans)以及/ java/jre6/bin之外,上述任何一个都不起作用,因为当我运行以下 - trustStore = null.

public class ShowTrustStore {

    public static void main(String[] args) {

        System.setProperty("javax.net.ssl.keyStore", "keystore.jks");
        System.setProperty("javax.net.ssl.trustStrore", "cacerts.jks");
        System.setProperty("javax.net.ssl.keyStorePassword", "changeit");



        String trustStore = System.getProperty("javax.net.ssl.trustStore");
        if (trustStore == null) {
            System.out.println("javax.net.ssl.trustStore is not defined");
        } else {
            System.out.println("javax.net.ssl.trustStore = " + trustStore);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何正确设置路径?

**********UPDATE************使用getFile()方法和一些其他调试数据:

package ssltest;

public class Main {

    public static void main(String[] args) {

//        System.setProperty("javax.net.ssl.keyStore", "/keystore.jks");
//        System.setProperty("javax.net.ssl.trustStrore", "/java.home/cacerts.jks");
//        System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
//        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

        try {
            Main.class.getResource("trustStore.jks").getFile(); …
Run Code Online (Sandbox Code Playgroud)

java ssl jsse keystore truststore

49
推荐指数
3
解决办法
23万
查看次数

如何在jar中使用javax.net.ssl.keystore中的文件?

我正在尝试做类似的事情

URL clientks = com.messaging.SubscriptionManager.class.getResource( "client.ks" );
String path = clientks.toURI().getPath();
System.setProperty( "javax.net.ssl.keyStore", path);
Run Code Online (Sandbox Code Playgroud)

其中client.ks是存储在我正在运行的jar文件中的com/messaging中的文件.

读取javax.net.ssl.keyStore的东西需要一个到jar中的client.ks文件的路径.如果可能的话,我宁愿不提取文件并放入客户端的机器上.那么可以在jar中引用一个文件吗?

这不起作用,因为getPath()返回null.还有另一种方法吗?

java jar executable-jar

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

java ×3

executable-jar ×1

jar ×1

jsse ×1

keystore ×1

path ×1

resources ×1

ssl ×1

truststore ×1