亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

向高手請教ant構建工具的類裝載器問題

2019-11-18 13:35:55
字體:
來源:轉載
供稿:網友
問題概述:每個ClassLoader本身只能分別加載特定位置和目錄中的類,但是,ClassLoader被設計成了一種委托模式,使得某一個ClassLoader可以委托它的父級類裝載器去加載類,從而讓應用程序可以借助某一個子級的ClassLoader去多個位置和目錄中進行類的加載。這就好比“兒子”除了可以花自己的錢,他還可以花“父親”的錢,“父親”又可以花“父親的父親”的錢,所以,最終能通過“兒子”花出去的錢包括他歷代前輩的錢。類裝載器一級級委托到BootStrap類加載器,當BootStrap無法加載當前所要加載的類時,然后才一級級回退到子孫類裝載器去進行真正的加載。當回退到最初的類裝載器時,假如它自己也不能完成類的裝載,那就應報告ClassNotFoundException異常。

  現在的問題是,我編寫了一個類裝載器去加載特定目錄中的類,使用java.exe測試這個類加載器時,測試結果完全正常,可以看到委托效果。而我使用ant工具去調用測試程序時,結果就有點問題了,我編寫的類裝載器似乎并沒有委托其父級類加載器去加載類,而總是自己加載。由于本人才學疏淺,且實在沒有精力去研究ant工具的源碼,無法了解其類加載內部細節,現在特針對這個問題,向真正的java高手們請教。為了便于高手們快速了解我的問題所在,也便于一些中手們學習,我寫出了具體的實驗步驟,對于java新手,建議不要參與討論了,免得我耽誤了您寶貴時間。

  1.源程序:MainClass.java

package cn.itcast;
public class MainClass
{
 public static void main(String [] args)
 {
  ClassLoader loader = MainClass.class.getClassLoader();
  //打印出當前的類裝載器,及該類裝載器的各級父類裝載器
  while(loader != null)
  {
   System.out.PRintln(loader.getClass().getName());
   loader = loader.getParent();
  }
  //加載AuxiliaryClass類
  System.out.println(AuxiliaryClass.class.getName());
 }
}
  源程序:AuxiliaryClass.java

package cn.itcast;
public class AuxiliaryClass
{}
  2.源文件及build結果文件的目錄結構

f:/project
__src
__cn
__itcast
__MainClass.java
__AuxiliaryClass.java
__build.xml
__classes
__cn
__itcast
__MainClass.class
__AuxiliaryClass.class
  3.build.xml文件內容

<project name="antloader" default="run">
<property name="classes.dir" value="classes" />
<property name="src.dir" value="src" />

<target name="init">
<mkdir dir="${classes.dir}" />
</target>

<target name="compile" depends="init">
<javac destdir="${classes.dir}" >
<src path="${src.dir}" />
</javac>
</target>

<target name="run" depends="compile">
<java classname="cn.itcast.MyClassLoader">
<classpath>
<pathelement location="${classes.dir}"/>
</classpath>
</java>
</target>
</project>
  4.進入project目錄中運行ant,執行結果正常,如下:

org.apache.tools.ant.loader.AntClassLoader2
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
cn.itcast.AuxiliaryClass
  5.修改build.xml文件,將最后名稱為“run”的target(執行目標)修改成如下形式,即不設置其中的<classpath>子元素。

<target name="run" depends="compile">
<java classname="cn.itcast.MyClassLoader">
<!--classpath>
<pathelement location="${classes.dir}"/>
</classpath-->
</java>
</target>
  再次執行ant,將報告如下錯誤信息:

Could not find cn.itcast.MainClass. Make sure you have it in your classpath
at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:170)
  在執行ant的命令行窗口中設置classpath環境變量:



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品丝袜一区二区三区| 日韩视频在线免费观看| 国产精品久久久久久av福利| 欧美精品在线免费观看| 疯狂做受xxxx高潮欧美日本| 91色琪琪电影亚洲精品久久| 欧美日韩裸体免费视频| 中文字幕免费国产精品| 国产精品情侣自拍| 日本伊人精品一区二区三区介绍| 色妞色视频一区二区三区四区| 久久精品99国产精品酒店日本| 久久在线免费视频| 高潮白浆女日韩av免费看| 久久精品99久久久香蕉| 精品国产一区二区三区久久| 亚洲最新av在线网站| 欧美重口另类videos人妖| 久久久天堂国产精品女人| 性色av一区二区三区免费| 亚洲免费电影在线观看| 久久中文字幕在线视频| 亚洲精品资源美女情侣酒店| 亚洲一区二区三区四区视频| 欧美一区二区三区四区在线| 欧美噜噜久久久xxx| 国产精品久久久久久久久影视| 中文字幕日韩欧美精品在线观看| 亚洲天堂男人的天堂| 亚洲另类xxxx| 久久久久久av| 亚洲精品成人av| 亚洲福利在线观看| 日韩黄色在线免费观看| 亚洲va男人天堂| 欧美日韩一区二区在线| 久久影视电视剧免费网站| 亚州成人av在线| 九九热精品视频| 国产一区二区三区丝袜| 激情av一区二区| 青草青草久热精品视频在线网站| 欧美成人精品影院| 777777777亚洲妇女| 亚洲字幕一区二区| 伊人一区二区三区久久精品| 国产丝袜高跟一区| 欧美插天视频在线播放| 久久精品国产2020观看福利| 欧美日韩免费一区| 国产三级精品网站| 国产成人精品一区| 国产精品美女视频网站| 成人性生交大片免费看小说| 91久久嫩草影院一区二区| 狠狠色狠狠色综合日日五| 亚洲国产美女精品久久久久∴| 中文字幕精品一区二区精品| 欧美怡春院一区二区三区| 日韩网站免费观看| 日韩美女视频中文字幕| 亚洲欧美国产精品专区久久| 日韩久久免费电影| 亚洲精品成a人在线观看| 黑人与娇小精品av专区| 欧美一区二区.| 欧美富婆性猛交| 色综合久综合久久综合久鬼88| 欧美另类在线观看| 国产日韩视频在线观看| 中文字幕日韩电影| 精品久久久国产精品999| 国产亚洲美女久久| 日韩精品亚洲精品| 国产精品一区二区女厕厕| 精品免费在线视频| 亚洲自拍偷拍一区| 国产在线高清精品| 69影院欧美专区视频| 在线视频日韩精品| 日韩网站免费观看高清| 中文字幕亚洲字幕| 精品国内自产拍在线观看| 国产精品久久久久久av福利软件| 国产免费亚洲高清| 亚洲专区国产精品| 久久乐国产精品| 国产视频精品va久久久久久| 亚洲美女av网站| 国产精品大片wwwwww| 国产区精品视频| 国产精品一香蕉国产线看观看| 欧美日韩精品国产| 日韩中文在线中文网三级| 国产精品一区二区三区在线播放| 亚洲第一页自拍| 欧美丝袜美女中出在线| 91免费在线视频网站| 日韩中文字幕在线免费观看| 中文字幕亚洲二区| 超薄丝袜一区二区| 久久视频中文字幕| 亚洲国产成人在线视频| 91精品国产91久久久久久吃药| 亚洲国产日韩欧美在线动漫| 亚洲成人久久久| 1769国产精品| 亚洲美女自拍视频| 久久精品99久久久香蕉| 国产精品国产福利国产秒拍| 国产在线视频91| 性欧美在线看片a免费观看| 久久成人精品视频| 国产精品免费小视频| 色婷婷av一区二区三区在线观看| 国产成人精品亚洲精品| 亚洲国产精品电影在线观看| 亚洲精品国精品久久99热| 中文字幕视频在线免费欧美日韩综合在线看| 日韩在线中文字| 久久频这里精品99香蕉| 亚洲免费中文字幕| 日韩欧美在线国产| 亚洲乱码国产乱码精品精天堂| 欧美大秀在线观看| 亚洲最新av在线网站| 日韩精品在线免费| 日韩美女在线观看| 久久久久久久久久久久av| 国产精品r级在线| 亚洲欧美综合图区| 亚洲精品中文字幕有码专区| 国产亚洲精品久久久| 国产精品一区二区三区免费视频| 亚洲区bt下载| 欧美日韩中文字幕| 色妞色视频一区二区三区四区| 亚洲电影免费观看高清完整版在线观看| 亚洲欧美激情精品一区二区| 久久精品国产精品亚洲| 国产日韩专区在线| 97视频免费在线看| 一本大道亚洲视频| 欧洲日韩成人av| 最近更新的2019中文字幕| 亚洲一区二区久久| 日韩在线观看电影| 亚洲国产福利在线| 欧美色另类天堂2015| 国产99视频精品免视看7| 欧美大片在线免费观看| 欧美日韩综合视频| 国产女同一区二区| 奇门遁甲1982国语版免费观看高清| 成人av.网址在线网站| 久热精品视频在线观看一区| 午夜精品美女自拍福到在线| 欧美电影免费在线观看| 国产大片精品免费永久看nba| 亚洲色图国产精品| 国产精品久久久久久av福利| 亚洲国产婷婷香蕉久久久久久| 亚洲天堂av高清| 亚州欧美日韩中文视频|