0
我觉得自己在这里是一个完整的新手。我最近转而使用Mac进行开发,并且遇到了一些项目的问题。我觉得它是一个类的路径问题,在Mac的类路径而不是Eclipse的构建路径...这里。 ..Junit,Selenium和NoClassDefFound
与Junit的硒项目。
我试图编译:
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
我已经走遍了论坛,我似乎无法化解。我已将libs添加到我的项目中。当我使用MAVEN(基础项目之外)时,pom.xml会正确导入依赖项并运行(尽管我没有使用Maven)。我比较了maven pom.xml导入的内容和我的原始项目导入的内容,并且这些jar是相同的。这里是一个简短列表...
- Apache的mime4j
- BSH-1.3.0
- CGLIB的节点p-2.1_3
- 公地编解码器1.6
- 公地集合-3.2
- 公地EXEC-1.1
- 公地-IO-2.2
- 公地的JXPath-1.3
- 个公地lang3
- 共享记录-1.1.1
- cssparser-0.9.8
- 番石榴14.0
- hamcrest核
- hamcrest库-1.3
- 的HtmlUnit-2.11
- ....
- ....
- ....
- selnium- Java的2.31.0
- 的JUnit 4.11
- ....
我可以采取完全相同的项目,并导入我的旧Windows计算机上,它编译没有任何问题/运行。这里的任何帮助将是MOST赞赏!男人我觉得这不应该是这种痛苦......我觉得我忽略了一些东西。或者坦率地说,它可能是Mac和我的新内容。
附加信息..我找到了什么原因,我在我的/ Library/Java/Extention目录中引用了硒源jar。如果我删除,日食会返回一个错误: 说明\t资源\t路径\t位置\t类型 容器“JRE系统库[JavaSE的-1.6]”引用不存在的图书馆/图书馆/的Java /扩展/硒Java的2.31.0-srcs.jar我不知道为什么会发生这种情况。我尝试在不同的Mac上使用相同的设置,下载eclipse,下载受尊敬的jar等等,并且项目立即被解雇......任何想法? – bcar 2013-05-07 16:49:10
从此链接下载Selenium服务器文件http://selenium.googlecode.com/files/selenium-server-standalone-2.32.0.jar,然后将其添加到lib。 – Hemanth 2013-05-07 19:28:49
HemChe我已经把jar添加到项目中,它不会改变编译或者我有这个/ Library/Java/Extention依赖(但是发生了!)的事实。 – bcar 2013-05-07 21:03:44