2016-06-16 9 views
0

antを使用してtestNGで実行しようとしている基本的なセレンプロジェクトを作成しました。 ant runを実行中にこのエラーが発生します。コンパイルまで、ビルドはOKです。Ant実行コマンドでNoClassDefFoundErrorエラーが発生しました

私がインターネットから見つけた解決策のいくつかは、クラスパスにJcommander.jarを追加していますが、すでにクラスパスに追加されています。ここで私はCMD

run: 
[testng] java.lang.NoClassDefFoundError:    com/beust/jcommander/ParameterException 
[testng]  at java.lang.Class.getDeclaredMethods0(Native Method) 
[testng]  at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
[testng]  at java.lang.Class.privateGetMethodRecursive(Unknown Source) 
[testng]  at java.lang.Class.getMethod0(Unknown Source) 
testng]  at java.lang.Class.getMethod(Unknown Source) 
[testng]  at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)      
testng]  at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
[testng] Caused by: java.lang.ClassNotFoundException:   com.beust.jcommander.ParameterException 
[testng]  at java.net.URLClassLoader.findClass(Unknown Source) 
[testng]  at java.lang.ClassLoader.loadClass(Unknown Source) 
[testng]  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
[testng]  at java.lang.ClassLoader.loadClass(Unknown Source) 
[testng]  ... 7 more 
[testng] Error: A JNI error has occurred, please check your installation and try again 
testng] The tests failed. 

を取得していますエラーがここに私のクラスパスには、あなたはEclipseがそのクラスパスを管理するために使用するファイルをリストされているが、このファイルはANTで使用されていない

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
<classpathentry kind="src" path="src"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar  files/selenium-2.53.0/selenium-java-2.53.0.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/selenium-java-2.53.0-srcs.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/apache-mime4j-0.6.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/bsh-2.0b4.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/cglib-nodep-2.1_3.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/commons-codec-1.10.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/commons-exec-1.3.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/commons-io-2.4.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/commons-logging-1.2.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/gson-2.3.1.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/guava-19.0.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/hamcrest-core-1.3.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/hamcrest-library-1.3.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/httpclient-4.5.1.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/httpcore-4.4.3.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/httpmime-4.5.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/jcommander-1.48.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/jna-4.1.0.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/jna-platform-4.1.0.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/junit-4.12.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/netty-3.5.7.Final.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/phantomjsdriver-1.2.1.jar"/> 
<classpathentry kind="lib" path="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs/testng-6.9.9.jar"/> 
<classpathentry kind="output" path="bin"/> 
</classpath> 
+0

Antスクリプトの外観はどうなっていますか?特に、Antスクリプトの ''はどのように見えますか? –

答えて

0

です。

ANTは別のツールで、ビルドロジックの詳細を示す「build.xml」があります。あなたのANTクラスパスを管理するために、私は、次の構文をお勧めします:

次のようにjarファイルをコンパイルするために使用することができ
<property name="lib.dir" location="C:/Users/ASOKE/Desktop/Selenium All Docs/Jar files/selenium-2.53.0/libs"/> 

<path id="compile.path"> 
    <fileset dir="${lib.dir}" includes="*.jar"/> 
</path> 

<target name="compile" description="Compile code"> 
    <mkdir dir="${build.dir}/classes"/> 
    <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false" debug="true" classpathref="compile.path"/> 
</target> 

うまくいけば、これはあなたにどのようにANT作品の風味を与えます。

結論として、Eclipseは開発ツールであり、Javaを構築するための独自のメカニズムを持っていることを忘れないでください。人々がANT、Maven、Gradleのような代替ビルド・ツールを使用する理由は、GUIビルディングがない場合に専用のビルド・サーバーで生産ビルドが通常発生するためです。

PS

  • あなたはANTとEclipseが自分の瓶を共有したい場合は、私がEclipse pluginがありApache ivyのような依存関係の管理ツールを使用してお勧めします。
関連する問題