0

私はここで完全な初心者のように感じます。最近、開発に 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と私の新しさかもしれません。

4

1 に答える 1

0

jre6 インストール済みランタイムを Eclipse 内で再作成する必要がありました。

Windows->Preferences->Java->Installed JREをクリックして実行

次に、JREを追加します。

于 2013-05-07T21:45:14.060 に答える