`
56553655
  • 浏览: 204081 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在JAVA类中指定系统参数的问题

阅读更多

我想在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);
}

 也不行,不知道是什么原因了,网上也没有找到相关的答案,有经验的达人给支个招了。

 

分享到:
评论
1 楼 taotling 2014-05-14  
关键是你的非启动类需要在发起SSL请求之前被加载才行,否则,即使你写在static 块中, 如果不使用这个非启动类, 它是不会加载的,类的加载是在其第一次被使用时(如果不指定加载时机)

相关推荐

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统...在开发过程中,保持编码一致性,理解和利用Java提供的字符编码工具,是预防和解决这类问题的关键。

    JAVA_API1.6文档(中文)

    java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。 java.awt.event 提供处理由 AWT 组件所激发的...

    Java实现从jar包中读取指定文件的方法

    本篇文章将详细讲解如何在Java中实现从JAR包中读取指定文件的方法。 首先,Java提供了`java.util.jar`包,其中包含处理JAR文件所需的类。`JarFile`类是核心类,它允许我们打开并操作JAR文件。在给定的代码示例中,`...

    Java解析wsdl文档获取具体的方法与参数

    Java作为一种广泛使用的编程语言,提供了处理WSDL文档的能力,帮助开发者获取服务中的方法和参数信息。本篇将深入探讨如何在Java中解析WSDL文档并提取关键细节。 首先,理解WSDL文档的结构至关重要。WSDL文档包含了...

    Java命令参数说明大全

    本文将详细介绍Java命令行参数中的基本参数和扩展参数,帮助读者更好地理解和利用这些参数。 #### 基本参数说明 1. **-client,-server** 这两个参数用于指定JVM的运行模式。`-client`模式适用于启动速度较快的...

    Java虚拟机_JVM_参数配置

    1. **替换或扩展核心类库**:如果你想覆盖或增强Java的内置功能,你可以指定一个包含修改后类的路径,这样JVM在启动时会优先使用这些类,而不是系统默认的。 2. **测试和调试**:在开发JDK或者对Java核心类库进行...

    java中文乱码问题详解--- java中文乱码问题详解

    但在实际应用中,Java程序可能会部署在不同编码环境的操作系统上(如中文Windows和英文Linux),这就涉及到了编码转换的问题。如果编码转换不当,很容易导致中文乱码的情况出现。 #### 二、Java中文问题的根本原因 ...

    java上传本地文件到oss指定目录

    在Java开发中,将本地文件上传到阿里云OSS(Object Storage Service)是常见的操作,尤其在处理大数据存储和分发时。阿里云OSS提供了一种高效、安全且经济的云端存储解决方案。本篇文章将详细讲解如何使用Java SDK...

    java中文乱码解决问题

    这是因为在编译 Servlet 类或者 JSP 文件时,如果没有使用 -encoding 参数指定 Java 源程序的编码格式,javac 会获取本地操作系统默认采用的字符集,以该字符集将 Java 源程序转换为 Unicode 编码保存到内存中,然后...

    Java生成支付宝支付参数

    8. **安全与性能优化**: 在实际开发中,除了基本的支付功能,还需要考虑系统的安全性,如防止重复支付、防止恶意攻击等。同时,为了提升用户体验,可以对支付接口进行负载均衡和缓存策略的设计。 以上就是Java后台...

    Java 自动加载JAR文件并运行其中的类方法

    在Java编程中,有时我们需要动态地加载外部JAR文件,并执行其中特定的类方法,这在插件系统、模块化应用或动态扩展性需求中尤为常见。本篇将详细讲解如何实现这一目标。 首先,理解JAR(Java Archive)文件是Java...

    解决Linux操作系统下Java的中文乱码问题

    在Linux操作系统中,Java应用程序处理中文字符时可能会遇到乱码问题。这主要涉及到编码格式的不匹配,因为Linux系统默认采用UTF-8编码,而某些Java应用或文件可能使用了GB2312、GBK或其他编码。本篇将详细介绍如何...

    java用JNA调用dll实例,包含各种参数调用

    你需要定义一个接口,该接口的每个方法对应DLL中的一个函数,然后使用`NativeLibrary`类加载DLL,并将接口实例化,这样就可以在Java中直接调用DLL函数了。 1. **基本数据类型**:JNA支持Java的基本数据类型如int、...

    在Linux系统下用java执行系统命令实例讲解

    在Linux系统下,Java编程语言提供了丰富的API来执行操作系统级别的命令。这主要通过`java.lang.Runtime`类和`java.lang.ProcessBuilder`类实现。本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一...

    JAVA启动参数大全

    - **注意**:使用 `-classpath` 参数后,JVM 不再使用系统环境变量 `CLASSPATH` 中的类路径。 - **搜索顺序**: - Bootstrap 类路径:内置在 JVM 中的标准类库。 - Extension 类路径:位于 `$JAVA_HOME/lib/ext` ...

    java中文乱码问题

    Java 中文乱码问题是一个老生常谈的问题,特别是在 Web 应用中。今天,我们将从编码角度分析 Java 编译后在控制台和 Web 等终端显示乱码问题。 一、 Java 处理字符的原理 Java 使用 UNICODE 来存储字符数据,处理...

    java命令参数大全(pdf版)

    Java命令参数大全是Java开发者日常工作中不可或缺的一部分,它包含了运行Java程序时所需要的各种选项和配置。这份PDF文档详细列举并解释了Java命令行接口(JVM)的各种参数,旨在帮助开发者更好地理解和使用Java...

    JAVA-OPTS参数设置.docx

    在实际应用中,需要根据实际情况设置 JAVA-OPTS 变量,确保 Java 应用程序的性能和稳定性。在设置时,需要注意 PermGen space 的大小,以免出现错误。 JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要...

    把wsdl文件转换成java类 使用wsdl2Java工具

    为了在Java环境中与这些Web服务交互,我们需要将WSDL文件转换为Java类,这就是`wsdl2java`工具的作用。 `wsdl2java`是Apache Axis项目的一部分,它是一个强大的工具,可以自动生成Java客户端和服务端代码,这些代码...

    java下载文件到指定路径(不打开窗口)

    本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台服务或自动化脚本场景。 #### 核心知识点详解 1. **URL...

Global site tag (gtag.js) - Google Analytics