java -Djava.ext.dirs=lib -cp . TestClient //-Djava.ext.dirs=lib 是做什么用的 ??

oneoneone 2008-10-29 09:13:48
JAVA -Djava.ext.dirs=lib 是将jVM的java.ext.dirs设置为指定的目录了,但具体的做用是什么?
我试着用axis调用web服务
按照例子,我要执行自己编译的web services类,用的命令是:java -Djava.ext.dirs=lib -cp . lius.axis.demo.generated.Main
可以执行,但用 java lius.axis.demo.generated.Main
执行时,提示
java.lang.NoClassDefFoundErro r: javax/xml/rpc/Service
这个类是在jaxrpc.jar中定义的,我把它加到系统的CLASSPATH的最前面也不行。
看来,-Djava.ext.dirs=lib不仅仅是设置一个目录,这个目录还有其特别之处吧,请明白人指点一下,多谢了。
...全文
1942 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
两片诺氟沙星 2009-10-31
  • 打赏
  • 举报
回复
alert("Oh, my God!");
laorer 2008-10-29
  • 打赏
  • 举报
回复
System.getProperty("java.ext.dirs") 可以得到 lib
Andy__Huang 2008-10-29
  • 打赏
  • 举报
回复
找不到类,是classpath设置不对吧
或者程序里的import类的路径不对
ouyangxiaokang6 2008-10-29
  • 打赏
  • 举报
回复
不懂,up
dracularking 2008-10-29
  • 打赏
  • 举报
回复
-D<name>=<value>
set a system property
是设置一个系统属性
而java.ext.dirs这个系统属性代表的含义就是
Path of extension directory or directories
扩展目录路径 楼上很多都已说清楚了

还有很多系统属性如图
sagezk 2008-10-29
  • 打赏
  • 举报
回复
这个跟 Java 类加载策略有关,更详细的介绍看这里 http://dev.yesky.com/496/2158996.shtml
huoyin 2008-10-29
  • 打赏
  • 举报
回复
-Djava.ext.dirs这个指定extend classloader的classpath,还有一个system classloader的classpath用于载入应用服务器相关的jar文件。

我们一般配置的都是application classloader的classpath.
sagezk 2008-10-29
  • 打赏
  • 举报
回复
系统属性 java.ext.dirs 的值为查找扩展类库中类的路径,默认为 JRE安装目录\lib\ext
java -Djava.ext.dirs=lib -cp . lius.axis.demo.generated.Main
红色部分是启动 Java 程序时用来修改默认查找扩展类库中类的路径的。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧