首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

获取Java程序运作的路径 | 获取当前jar包的路径

2012-12-24 
获取Java程序运行的路径 | 获取当前jar包的路径System.setProperties( proxyHost, 192.168.31.117 )?

获取Java程序运行的路径 | 获取当前jar包的路径

System.setProperties( "proxyHost", "192.168.31.117" );?
System.setProperties( "proxyPort", "80" );?
这里的proxySet,proxyHost,proxyPort等等这些系统的属性名称是从哪里知道的?

  ——通过JDK文档中对java.lang.system的static Properties getProperties()方法的介绍,可以获知所有可用属性的含义。

  ——根本没有proxySet,proxyHost和proxyPort,这些是user defined property,那么用户定义的属性如何起作用的?

***JavaVM实现Proxy的方法***

? ? ? 要想让java应用使用代理连接网络,只需要设置一下system properties,有两种方法可以设置,一是直接在java代码里面调用System.setProperty()方法,还有就是通过-D选项添加java虚拟机参数,如??java -Dhttp.proxyHost=192.168.254.254???? -Dhttp.proxyPort=9000 ,当然也可以指定不使用代理访问的网站或者主机,http.nonProxyHosts属性指定不使用代理访问的域。示例如下所示:

? ? ? System.setProperty("http.proxyHost", "192.168.254.254");

? ? ? System.setProperty("http.proxyPort", "9000");

? ? ? System.setProperty("http.nonProxyHosts", "localhost");

? ? ? 如果你想使用ftp代理可以以相同的方式设定如下系统属性:ftp.proxyHost,?ftp.proxyPort, and?使用socket代理可以设定socks.ProxyHost?socks.ProxyPort也可以使用如下代码:

    Properties sysProperties = System.getProperties(); ??//Specify proxy settings ??sysProperties.put("proxyHost", "myhost");//myhost设置为代理的地址 ??sysProperties.put("proxyPort", "myport");//myport设置为代理端口??sysProperties.put("proxySet",??"true");??

补充:

? ? ? Java网络代理服务器环境变量
? ? ? Java 是一种面向对象的网络语言,Java 的JVM已经提供了可以设置与网络代理服务相关的环境变量,这些环境变量是按照键值名(Key)和值(Value)实现配置的。而这些环境变量与应用程序息息相关。比如:大家比较熟悉的classpath环境变量等。从表面上看,JVM的环境变量有点类似Windows的*.ini,该环境变量是按照纯文本的格式存储的。

? ? ? Http 代理服务是目前Internet环境下,应有最为广泛的代理服务。一般的网络浏览器,如:微软的IE和网景的Netscape都提供对Http代理服务的配置选项。在Java应用程序中,对Http代理服务的使用是通过配置Java 虚拟机的JVM的环境变量来实现的。针对http代理服务,Java 虚拟机提供了如下环境变量:

? ? ? http.proxySet 该环境变量用以设置应用程序是否使用http协议代理,值为True/False。?
? ? ? ? ? ? 注意:在设置环境变量时候,变量值True/False是按照字符串的形式进行设置的。?
? ? ? http.proxyHost 该环境变量用以设置应用程序所使用的http协议代理服务器的主机,比如:我们使用?http://172.14.10.34?作为http的代理服务器主机。?
? ? ? http.proxyport 该环境变量用以设置应用程序所使用的http协议代理服务器的主机的端口号。比如:我们使用?http://172.14.10.34?的8080端口作为http的代理服务器。

如:将Java应用程序的Http代理服务器设为http://172.14.10.34,端口为8080,可以使用如下代码:?
String host="http://172.14.10.34";
String port="8080";
System.setproperty("http.proxySet", "true");
System.setproperty("http.proxyHost", host);
System.setproperty("http.proxyport", port);


一旦设置好了Java应用程序的http代理环境变量,Java应用程序就可以通过http代理服务透明地访问与http相关的网络资源。

?

热点排行