如何在命令行参数中为系统属性(ssl / tls)配置eclipse运行配置

时间:2013-09-04 12:30:10

标签: java eclipse ssl command-line-arguments

我的命令行输入是在没有IDE,java -

的情况下运行
Djavax.net.ssl.trustStore="d:/xxxLS/xxxx.jks" 
-Djavax.net.ssl.trustStorePassword=posclient 
pDevice.ClientMain 1 d:/xxxLS/xxsSslxxxClient.jks 
possslandencryptclient possslclient posencryptclient localhost 7866 SslYes EncYes

当我尝试在Eclipse中运行应用程序时,它不起作用。如何在Eclipse中指定SSL / TLS密钥路径。我的磁盘中有密钥文件。(xxxx.jks,xxsSslxxxClient.jks)

我不知道如何为特定的命令行参数配置我的eclipse。   文件名(待定)Device.ClientMain

请帮帮我。

1 个答案:

答案 0 :(得分:3)

是的,我得到了解决方案,将TLS / SSL密钥放在日食运行中 - >运行配置 - >在Main下选择要运行的类, - > (X)参数提供了您在VM参数下包含的关键细节,在Program Arguments下传递通常的命令行参数。运行SSL层客户端/服务器应用程序时,密钥列表或密钥详细信息应包含在VM参数下。我的计划运作良好。

在Details中,参数分为Program Arguments,Eclipse中的VM参数,Program参数是传递给应用程序的参数,可以通过main方法的“args”String数组参数访问。 VM参数是诸如传递给Java s w解释器的系统属性之类的参数。

VM参数在调用Java解释器(即“java”)之后和Java类之前进行。程序参数在Java类之后。

 Public class ArgsTest {

public static void main(String[] args) throws IOException {

    System.out.println("Program Arguments:");
    for (String arg : args) {
        System.out.println("\t" + arg);
    }

    System.out.println("System Properties from VM Arguments");
    String sysProp1 = "sysProp1";
    System.out.println("\tName:" + sysProp1 + ", Value:" + System.getProperty(sysProp1));
    String sysProp2 = "sysProp2";
    System.out.println("\tName:" + sysProp2 + ", Value:" + System.getProperty(sysProp2));

}

} 传递输入为,java ArgsTest -DsysProp1 = sp1 -DsysProp2 = sp2 pro1 pro2 pro3

Output would be:
 Program Arguments:
pro1
pro2
pro3
 System Properties from VM Arguments
Name:sysProp1, Value:sp1
Name:sysProp2, Value:sp2