我尝试通过"gradlew connectedAndroidTest"运行仪器测试.我收到以下错误:
Tests on GT-I9305 - 4.3 failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
com.android.builder.testing.ConnectedDevice > hasTests[GT-I9305 - 4.3] FAILED
No tests found.
:mobile:connectedAndroidTest FAILED
Run Code Online (Sandbox Code Playgroud)
这是带有--stacktrace选项的输出:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mobile:connectedAndroidTest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) …Run Code Online (Sandbox Code Playgroud) testing gradle classnotfoundexception android-studio android-instrumentation
我曾经遇到过这个问题几次而且只是偶然发现了一个(半)可靠的解决方案,所以我想在这里发布它以防万一它可以帮助其他人,或者万一我忘了它,还要问是否有人知道根本原因是什么以及我的修复工作原因.
问题 - 我有一个spring 3 webapp,我想在Eclipse中使用Run on Server选项在Tomcat 7服务器上运行.对于一些项目,这只是起作用,但有些项目似乎处于破坏状态,每次服务器启动时,我都会找到一个未找到的类:org.springframework.web.servlet.DispatcherServlet.
经过一番调查,我发现,该项目的Maven依赖没有被复制到WEB-INF/lib中${PROJECT_LOCATION}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/
在最终注意到项目在"问题"面板中发出警告之前,我尝试了很多事情:
Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER
will not be exported or published. Runtime ClassNotFoundExceptions may result.
Run Code Online (Sandbox Code Playgroud)
也许我应该早点注意到这一点.
无论如何,选择这个并执行"快速修复"可以解决问题,我可以愉快地运行我的项目.快速解决方法是:"将关联的原始类路径条目标记为发布/导出依赖项".
麻烦的是,虽然这有效,但我不知道这意味着什么.完成后,我的项目配置中看不到任何明显的变化.我很想知道实际问题是什么,以及我是否可以避免它再次发生.我还想知道是否有一些我本可以完成的事情(除了执行快速修复之外)可以修复它,因为我觉得我几乎尝试了其他一切.
谢谢你的帮助.
我试图创建/运行一个基本的JSP并遇到以下错误.我看到其他人遇到了类似的问题,但是,我还没能找到(或正确实施)手头问题的解决方案.任何帮助,将不胜感激!
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:816)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SimpleServletProject]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
... 6 more
Caused by: java.lang.NoClassDefFoundError: HttpServletRequest
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
at java.lang.Class.getDeclaredMethods(Class.java:1967)
at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:287)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:415)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:892)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作REST Web服务.
我的项目看起来像:

追溯是:
8 déc. 2011 18:31:36 org.apache.catalina.core.AprLifecycleListener init
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;C:\Program Files\MyEclipse\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_9.0.0.me201109141806\tomcat\bin
8 déc. 2011 18:31:36 org.apache.coyote.http11.Http11Protocol init
INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
8 déc. 2011 18:31:36 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 394 ms
8 déc. 2011 18:31:37 org.apache.catalina.core.StandardService start
INFO: Démarrage du service Catalina
8 déc. 2011 18:31:37 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.13 …Run Code Online (Sandbox Code Playgroud) 有一个非常类似的问题,但在我的情况下,我的构建路径中没有任何重复的jar,所以解决方案对我不起作用.我现在已经搜索了谷歌几个小时,但我找到的解决方案都没有解决我的问题.我正在创建一个带有一些数据库连接的网站来完成作业.我正在使用MySQL数据库,在Eclipse中开发并在Windows上运行.
我一直在java.lang.ClassNotFoundException: com.mysql.jdbc.Driver使用以下代码:
import java.sql.*;
//...
public void someMethodInMyServlet(PrintWriter out)
{
Connection connection = null;
PreparedStatement query = null;
try {
out.println("Create the driver instance.<br>");
Class.forName("com.mysql.jdbc.Driver").newInstance();
out.println("Get the connection.<br>");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret");
query = connection.prepareStatement( "SELECT * FROM customers");
//...
} catch (Exception e)
{
out.println(e.toString()+"<br>");
}
}
//...
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到以下输出:
Create the driver instance.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
它没有超越Class.forName...线,我无法弄清楚为什么!这是我做的:
C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar. mysql-connector-java-5.1.12-bin.jar.每当我尝试使用servlet时,无论我是否有jar或者我没有,我都会得到相同的错误.你能帮我搞清楚吗?
我有一个eclipse项目结构,看起来像这样:
eclipse
project a
project b
Run Code Online (Sandbox Code Playgroud)
所有这些项目都是Maven项目.项目B是Eclipse WTP项目,包含项目A作为依赖项.我正在使用m2eclipse插件.
当我将Project B部署到Tomcat(全部来自Eclipse中)时,它总是抛出错误,说它无法从Project A中找到类.我可以解决这个问题的唯一方法是在Eclipse中关闭 Project A并执行mvn install命令,所以在这一点上,项目A被视为任何其他依赖项.
我希望不必再次重新打开,然后每当我对其进行更改时关闭项目A(这在此阶段经常发生).
我已经尝试将Project A添加到Project B的Build Path中,但是这似乎并没有成功.同样,它只有在我在eclipse中关闭项目时才有效,所以它被视为普通的maven依赖.
仅供参考我正在使用Helios版Eclipse.项目B是一个Spring项目,所以Tomcat在导入所有bean等时自然会失败.
有没有人有什么建议?非常感谢.
我在Linux Ubuntu Natty Narwhal中运行Eclipse Helios Service Release 1和Tomcat 7.0.12.
我一直很高兴热重新部署我的webapp,直到它显然没有理由停止工作.显示以下异常:
SEVERE: Allocate exception for servlet Index
java.lang.ClassNotFoundException: obliquid.servlet.Index
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
Run Code Online (Sandbox Code Playgroud)
我还应该检查什么?谢谢.
更新尽管现在我正在使用新项目,我回来检查旧项目,并且神秘地现在它正在工作.我想我无法找到发生的事情.
然而今天在新项目中,我有404错误没有明显的原因,我发现右键单击Tomcat服务器并选择"Clean ..."可能很有用.也许它可能有所帮助.
选择"Clean ..."说:"Clean将丢弃所有发布状态并从头开始重新发布.您确定要清除所有已发布的资源吗?".选择是,我解决了问题
更新2它再次发生在新项目上.404错误,这次他们不会消失.
Stop -> …Run Code Online (Sandbox Code Playgroud) 我试图在Windows7上使用java连接到mysql数据库.尽管在CLASSPATH中添加了jdbcdriver jar文件的完整url,但抛出了java.lang.ClassNotFoundException:com.mysql.jdbc.Driver.谁能告诉我我在这里失踪了什么?如果我在项目库中添加jar文件但是我想通过CLASSPATH本身来实现它.我的类路径看起来像这样 - C:\ jython2.5.1\javalib\mysql-connector-java-5.1.12-bin.jar
我想说清楚这不是我正在进行的实际项目.我实际上正在使用Django和Jython,它需要JDBC驱动程序来访问数据库.这就是为什么我必须只使用CLASSPATH.
在我的代码中我导入android.support.v4.view.ViewPager
但是ClassNotFoundException: android.support.v4.view.ViewPager当我将内容视图设置为此xml文件时,我得到了一个:
...
<android.support.v4.app.FragmentPager
android:layout_height="0px"
android:layout_width="match_parent"
android:layout_weight="1"
android:id="@+id/pager">
</android.support.v4.app.FragmentPager>
...
Run Code Online (Sandbox Code Playgroud) 大多数设备可以运行我的应用程序,但我收到此错误报告:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.company.app/com.company.app.MainActivity}: java.lang.ClassNotFoundException: com.company.app.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.company.app-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2755)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2854)
at android.app.ActivityThread.access$2300(ActivityThread.java:136)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5068)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.company.app.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.company.app-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newActivity(Instrumentation.java:1034)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2747)
... 11 more
Run Code Online (Sandbox Code Playgroud)
我发现有一个相关的答案: ClassNotFoundException Android
但问题是,我的异常发生在我编写的任何代码行之前,那么如何确保加载类加载器?