2012-01-13 134 views
2

當運行我的Ant構建文件我得到以下信息螞蟻javac任務不能訪問

-build-middleware-securitymanager: 
    [echo] -> httpbean.securitymanager 
    [echo] -> httpbean.securitymanager.config 
    [echo] -> httpbean.securitymanager.context 
    [echo] -> httpbean.securitymanager.login 
    [echo] -> C:\eclipse\current\RunImported 
    [javac] Compiling 4 source files to C:\eclipse\current\new\classes 
    [javac] C:\eclipse\current\httpbean\securitymanager\login\integration\bellsouth\LoginUserWS.java:192: cannot access ServiceException 
    [javac] file ServiceException.class not found 
    [javac]    final LoginInfo info = _login.login(user, clrpasswd, _token); 
    [javac]            ^

已經檢查了我的構建文件,它指的是以下部分

<echo message="-> httpbean.securitymanager.login" /> 
    <echo message="-> ${run-imported}" /> 
    <javac includeantruntime="${ant8compat}" debug="${debug}" srcdir="${src}" destdir="${classes}" includes="httpbean/securitymanager/login/**/*.java" encoding="UTF-8"> 
     <exclude name="**/*_UnitTest.java" /> 
     <classpath> 
      <path refid="Axis" /> 
      <path refid="commons-logging" /> 
      <path refid="shark-1.1" /> 
      <path refid="log4j" /> 
     </classpath> 
    </javac> 

的ServiceException類是位於shark-1.1目錄中的jaxrpc.jar中的javax.xml.rpc包的一部分,shark-1.1參考是

<path id="shark-1.1"> 
    <fileset dir="${run-imported}/shark-1.1"> 
     <include name="*.jar" /> 
    </fileset> 
    </path> 

檢查了${run-imported}/shark-1.1目錄後,我可以清楚地看到正確的jar文件在那裏!

我已經嘗試添加一個pathelement標記到javac任務的classpath部分,以直接指向缺少類所在的jar文件,但這也不起作用。

編輯:

進口是

import javax.xml.rpc.ServiceException; 

而且瓶子的結構像這樣,ServiceException強調

JAR directory structure

+0

在哪個jar文件/'path id'是'ServiceException'存在? – adarshr 2012-01-13 10:56:21

+0

它位於jaxrpc.jar中,位於shark-1.1路徑標識中,請參閱上面的片段 – PDStat 2012-01-13 10:58:42

+0

該jar文件是否直接位於目錄'$ {run-imported}/shark-1.1'下?我希望它不在像'$ {run-imported}/shark-1.1/lib/shark-1.1.jar'這樣的嵌套目錄中? – adarshr 2012-01-13 11:00:02

回答

0

你肯定ServiceException是默認的包?不太可能。 它應該像「com.acme.bfo.cyberdyne.ServiceException」一樣。 使用

jar tf shark-1.1.jar | find "ServiceException" 

要看包。