私はここで完全な初心者のように感じます。最近、開発に Mac を使用するように切り替えましたが、いくつかのプロジェクトで問題が発生しています。eclipseビルドパスではなく、macsクラスパス内のクラスパスの問題のように感じます...ここに行きます。..
Junit を使用した Selenium プロジェクト。
私はコンパイルしようとします:
java.lang.NoClassDefFoundError: com/google/common/base/Function
at Login.testLoginPage(Login.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:255)
at junit.framework.TestSuite.run(TestSuite.java:250)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 20 more
フォーラムを精査しましたが、解決できないようです。プロジェクトにライブラリを追加しました。MAVEN (基本プロジェクトの外部) を使用すると、pom.xml は依存関係を正しくインポートして実行します (ただし、Maven は使用していません)。maven pom.xml がインポートしているものと、元のプロジェクトがインポートしたものを比較しましたが、jar は同じです。ここに要約されたリストがあります...
- apache-mime4j
- bsh-1.3.0
- cglib-nodep-2.1_3
- コモンズ-コーデック-1.6
- commons-collections-3.2
- commons-exec-1.1
- commons-io-2.2
- コモンズ-jxpath-1.3
- commons-lang3
- commons-logging-1.1.1
- cssparser-0.9.8
- グアバ-14.0
- ハムクレストコア
- hamcrest-library-1.3
- htmlunit-2.11
- ....
- ....
- ....
- selnium-java-2.31.0
- junit-4.11
- ....
まったく同じプロジェクトを使用して、古い Windows マシンにインポートすると、問題なくコンパイル/実行されます。ここで何か助けていただければ幸いです。おい、これはこんなにつらいことじゃないはずだ… 何かを見落としているような気がする。または率直に言って、それはMacと私の新しさかもしれません。