Задача Ant javac не может получить доступ к классу - PullRequest
2 голосов
/ 13 января 2012

При запуске моего файла сборки ant я получаю следующее сообщение

-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 является частью пакета javax.xml.rpc, который находится в jaxrpc.jar в каталоге shark-1.1, ссылка на 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 в часть classpath задачи javac, чтобы указать непосредственно на файл jar, где находится отсутствующий класс, но это также не работает.

EDIT:

Импорт

import javax.xml.rpc.ServiceException;

А банка имеет такую ​​структуру, исключение ServiceException

JAR directory structure

1 Ответ

0 голосов
/ 13 января 2012

Вы уверены, что ServiceException входит в пакет по умолчанию?Навряд ли.Это должно быть что-то вроде «com.acme.bfo.cyberdyne.ServiceException».Используйте

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

, чтобы увидеть пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...