我想在JAVA中设置系统的trustStore变量,而不是通过启动参数-Djavax.net.ssl.trustStore=trustStore来加载,因为这涉及到修改系统启动参数。
如果我是在起动类的静态块中加载是可以加载成功的,发起SSL请求的时候不会报错:
static{
InputStream is = Thread.currentThread().getClass().getResourceAsStream(CONFIG_PATH+"wss.properties");
try {
wsProperties.load(is);
Map<String,String> trustStoreProperty = new HashMap<String,String>();
trustStoreProperty.put("javax.net.ssl.trustStore", wsProperties.get(WSUtil.TRUST_STORE).toString());
System.getProperties().putAll(trustStoreProperty);
} catch (Exception e) {
logger.error("Error happened when load properties file:"+CONFIG_PATH+"wss.properties", e);
}
}
可是如果我将这段代码加到非启动类,即另外的被调用的类中,就设置不成功。我刚以为是CLASSLOADER的问题,我尝试在被调用类中使用:
static{
Method property=Thread.currentThread().getContextClassLoader().getSystemClassLoader().getParent().loadClass("java.lang.System").getDeclaredMethod("getProperties", null);
Properties p = (Properties)property.invoke("getProperties", null);
p.putAll(trustStoreProperty);
}
也不行,不知道是什么原因了,网上也没有找到相关的答案,有经验的达人给支个招了。
分享到:
相关推荐
Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统...在开发过程中,保持编码一致性,理解和利用Java提供的字符编码工具,是预防和解决这类问题的关键。
java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...
本篇文章将详细讲解如何在Java中实现从JAR包中读取指定文件的方法。 首先,Java提供了`java.util.jar`包,其中包含处理JAR文件所需的类。`JarFile`类是核心类,它允许我们打开并操作JAR文件。在给定的代码示例中,`...
Java作为一种广泛使用的编程语言,提供了处理WSDL文档的能力,帮助开发者获取服务中的方法和参数信息。本篇将深入探讨如何在Java中解析WSDL文档并提取关键细节。 首先,理解WSDL文档的结构至关重要。WSDL文档包含了...
本文将详细介绍Java命令行参数中的基本参数和扩展参数,帮助读者更好地理解和利用这些参数。 #### 基本参数说明 1. **-client,-server** 这两个参数用于指定JVM的运行模式。`-client`模式适用于启动速度较快的...
1. **替换或扩展核心类库**:如果你想覆盖或增强Java的内置功能,你可以指定一个包含修改后类的路径,这样JVM在启动时会优先使用这些类,而不是系统默认的。 2. **测试和调试**:在开发JDK或者对Java核心类库进行...
但在实际应用中,Java程序可能会部署在不同编码环境的操作系统上(如中文Windows和英文Linux),这就涉及到了编码转换的问题。如果编码转换不当,很容易导致中文乱码的情况出现。 #### 二、Java中文问题的根本原因 ...
在Java开发中,将本地文件上传到阿里云OSS(Object Storage Service)是常见的操作,尤其在处理大数据存储和分发时。阿里云OSS提供了一种高效、安全且经济的云端存储解决方案。本篇文章将详细讲解如何使用Java SDK...
这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding 参数指定 Java 源程序的编码格式,javac 会获取本地操作系统默认采用的字符集,以该字符集将 Java 源程序转换为 Unicode 编码保存到内存中,然后...
8. **安全与性能优化**: 在实际开发中,除了基本的支付功能,还需要考虑系统的安全性,如防止重复支付、防止恶意攻击等。同时,为了提升用户体验,可以对支付接口进行负载均衡和缓存策略的设计。 以上就是Java后台...
在Java编程中,有时我们需要动态地加载外部JAR文件,并执行其中特定的类方法,这在插件系统、模块化应用或动态扩展性需求中尤为常见。本篇将详细讲解如何实现这一目标。 首先,理解JAR(Java Archive)文件是Java...
在Linux操作系统中,Java应用程序处理中文字符时可能会遇到乱码问题。这主要涉及到编码格式的不匹配,因为Linux系统默认采用UTF-8编码,而某些Java应用或文件可能使用了GB2312、GBK或其他编码。本篇将详细介绍如何...
你需要定义一个接口,该接口的每个方法对应DLL中的一个函数,然后使用`NativeLibrary`类加载DLL,并将接口实例化,这样就可以在Java中直接调用DLL函数了。 1. **基本数据类型**:JNA支持Java的基本数据类型如int、...
在Linux系统下,Java编程语言提供了丰富的API来执行操作系统级别的命令。这主要通过`java.lang.Runtime`类和`java.lang.ProcessBuilder`类实现。本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一...
- **注意**:使用 `-classpath` 参数后,JVM 不再使用系统环境变量 `CLASSPATH` 中的类路径。 - **搜索顺序**: - Bootstrap 类路径:内置在 JVM 中的标准类库。 - Extension 类路径:位于 `$JAVA_HOME/lib/ext` ...
Java 中文乱码问题是一个老生常谈的问题,特别是在 Web 应用中。今天,我们将从编码角度分析 Java 编译后在控制台和 Web 等终端显示乱码问题。 一、 Java 处理字符的原理 Java 使用 UNICODE 来存储字符数据,处理...
Java命令参数大全是Java开发者日常工作中不可或缺的一部分,它包含了运行Java程序时所需要的各种选项和配置。这份PDF文档详细列举并解释了Java命令行接口(JVM)的各种参数,旨在帮助开发者更好地理解和使用Java...
在实际应用中,需要根据实际情况设置 JAVA-OPTS 变量,确保 Java 应用程序的性能和稳定性。在设置时,需要注意 PermGen space 的大小,以免出现错误。 JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要...
为了在Java环境中与这些Web服务交互,我们需要将WSDL文件转换为Java类,这就是`wsdl2java`工具的作用。 `wsdl2java`是Apache Axis项目的一部分,它是一个强大的工具,可以自动生成Java客户端和服务端代码,这些代码...
本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台服务或自动化脚本场景。 #### 核心知识点详解 1. **URL...