2015-11-11 1 views
0

Я использую ANT и IVY для разрешения зависимостей и построения проекта. Я должен написать тест селена дело, поэтому я включил зависимость селена в файле IVY, как показано ниже:Почему плющ не компилирует мой класс?

<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="2.48.2"/> 

плющ способен загрузить зависимость, но когда я скомпилировать проект с использованием ANT он не с ниже погрешности:

cannot find symbol 
    [javac] symbol : class WebDriver 
    [javac] location: class com.barclays.test.selenium.TestSelenium 
    [javac]   WebDriver driver = new FirefoxDriver(); 

Не могли бы вы сообщить мне все, что у меня отсутствует.

EDIT:

часть build.xml:

<target name="init"> 
     <ivy:resolve /> 
     <ivy:cachepath pathid="compile.path" conf="compile" /> 
     <ivy:cachepath pathid="test.path" conf="test" /> 
    </target> 

    <target name="clean"> 
     <delete dir="${target.dir}" /> 
    </target> 

    <target name="prepare" depends="clean" description="Create working dirs and copy static files to work dir"> 
     <mkdir dir="${target.dir}/WEB-INF/classes" /> 
     <mkdir dir="${target.dir}/WEB-INF/classes-test" /> 
     <!-- Copy static HTML and JSP files to work dir --> 
     <copy todir="${target.dir}"> 
      <fileset dir="${web.home}" /> 
     </copy> 
    </target> 

    <target name="compile" depends="prepare, init" description="Compile Java sources and copy to WEB-INF/classes dir"> 
     <javac srcdir="${src.dir}" includeantruntime="false" debug="true" classpathref="compile.path" destdir="${target.dir}/WEB-INF/classes"> 
     </javac> 

     <javac srcdir="${test.dir}" includeantruntime="false" debug="true" classpathref="test.path" destdir="${target.dir}/WEB-INF/classes-test"> 
      <classpath> 
       <pathelement location="${target.dir}/WEB-INF/classes" /> 
      </classpath> 
     </javac> 

     <copy todir="${target.dir}/WEB-INF/classes"> 
      <fileset dir="${src.dir}" excludes="**/*.java" /> 
     </copy> 

    </target> 

И ivy.xml:

<ivy-module version="2.0"> 
    <info organisation="org.apache" module="test-ivy" /> 

    <configurations> 
     <conf name="runtime" /> 
     <conf name="compile" extends="runtime" description="provides the 
compiler" /> 
     <conf name="test" description="Required for test only" extends="runtime"/> 
    </configurations> 

    <dependencies> 
     <dependency org="javax.servlet" name="servlet-api" rev="2.5" /> 
     <dependency org="junit" name="junit" rev="4.12" /> 
     <dependency org="org.seleniumhq.selenium" name="selenium-java" rev="2.48.2" conf="test-java->default"/> 
    <dependency org="log4j" name="log4j" rev="1.2.16" conf="compile->*" /> 
    </dependencies> 
</ivy-module> 

же случай с log4j, а также. Я добавил зависимость, но когда я попытался создать объект Logger, eclipse не показывает loglog log4j при использовании кода.

Благодаря

+0

пожалуйста, напишите build.xml – WeMakeSoftware

+0

Это немного большим, поэтому я добавил цель компиляции – GuruKulki

+0

'<зависимость орг =«org.seleniumhq.selenium»имя =«Селен-ява»оборот = "2.48.2" conf = "test-java-> default" /> 'может быть? –

ответ

0

в вашем build.xml вы собираете тестовые классы не с тестовыми классами, но при компиляции классов.

Classpathref должен быть установлен в test.path

<javac srcdir="${test.dir}" includeantruntime="false" debug="true" classpathref="test.path" destdir="${target.dir}/WEB-INF/classes-test"> 
      <classpath> 
       <pathelement location="${target.dir}/WEB-INF/classes" /> 
      </classpath> 
     </javac> 

и вы должны определить область для каждой из зависимостей плюща. Как это:

<!-- Compile time--> 
    <dependency org="log4j" name="log4j" rev="1.2.14" conf="compile->*"/> 

<!-- test time--> 
    <dependency org="log4j" name="log4j" rev="1.2.14" conf="test->*"/> 
+0

сделали изменения, о которых вы упомянули, и запустите ant build, но по-прежнему та же ошибка – GuruKulki

+0

для firefox webdriver вам также нужно http://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-firefox-driver эта зависимость – WeMakeSoftware

+0

Но это не разрешаете и для WebDriver? Есть ли что-то неправильное в конфигурации? – GuruKulki

 Смежные вопросы

  • Нет связанных вопросов^_^