标签: classnotfoundexception

Java:如何在Singleton中重现Legen ... Dary ClassNotFoundException?

在我上次的采访中,我被问到一个关于java中所有Singleton实现的标准问题.他们都有多糟糕.

我被告知,即使静态初始化也很糟糕,因为构造函数中出现未经检查的异常的可能性:

public class Singleton {
    private static Singleton instance = new Singleton();

    public static Singleton getInstance() {
        return instance;
    }
    private Singleton() {
       throw new RuntimeException("Wow... Exception in Singleton constructor...");
    }
}
Run Code Online (Sandbox Code Playgroud)

他们还告诉我,Exception将是"ClassNotFoundException",因此在真正的应用程序中找到问题非常困难.

我试图得到那个例外:

public static void main(String[] args) {
    new Thread(new Runnable(){
            public void run() {
                Singleton.getInstance();
            }
        }).start();
}
Run Code Online (Sandbox Code Playgroud)

但我唯一得到的是ExceptionInInitializerError ......

我搜索了这个例外以及我发现的所有地方 - 他们都谈到了我在采访中被告知的同样问题.没有关于"实施"=)

感谢您的关注.

java singleton exception classnotfoundexception

5
推荐指数
1
解决办法
1255
查看次数

java.lang.ClassNotFoundException:无法成功加载类源

我正在开发一个 Android 项目 - 到目前为止一切顺利。今天我向项目中添加了一些额外的 Java 代码 - 我将在这里将其称为 calcCode。这是一些在后台进行计算的代码,并非 Android 特定的 - 我将在我的项目中使用它。

我将该新代码添加到与同一项目下的 Android 代码不同的包中。

所以我所拥有的是:

Project
 AndroidPackage
  AndroidCode
 SomeJaveCodePackage
  UtilityCode
Run Code Online (Sandbox Code Playgroud)

由于某种原因,当我尝试调试 calcCode 时,我收到了这个恼人的未找到源错误。尽管如此,代码仍一如既往地运行并提供正确的结果。我从其他项目中获取了 calcCode 并将这些文件复制到我的新 Android 项目中。当我看不到源代码时,我删除了所有 calcCode 文件并手动创建它们,首先在相关包下创建一个类文件,然后将代码复制粘贴进去。我认为这将有助于 Eclipse 识别类的路径。

我还尝试:“编辑源查找路径”并添加我试图调试的类的源代码。

这没有改变任何东西 - 我仍然无法调试代码。我在 StackOverflow 上读到了这个问题的几个答案。大多数与 Junit 和 Tomcat 打交道,我遵循了他们的建议,但这并没有改变情况。

任何人都知道为什么会发生这种情况?

我有 Eclipse Indigo。


在 m0skit0 的评论后编辑:谢谢 m0skit0 的帮助。我只想问一个问题(我可能在路上混淆了一些东西)。我的问题是:为什么 Eclipse 在调试时找不到我自己的代码。它曾经在以前的项目中工作过(我能够在调试过程中跟踪代码完成应用程序的所有过程)。

我所做的就是设置一个断点

Tour myTour = new Tour("res/raw/td.csv", "readCSV");
Run Code Online (Sandbox Code Playgroud)

游览是我自己的手工课。当我按 F5 以便进入它时,我收到错误:java.lang.ClassNotFoundException,并且在代码窗口中我收到“未找到源”和一个“编辑源查找路径”按钮。

这是调用堆栈:

Thread [main] (Suspended)
    ClassNotFoundException(Throwable).<init>(String, Throwable) line: 286   
    ClassNotFoundException(Exception).<init>(String, Throwable) line: not available 
    ClassNotFoundException(ReflectiveOperationException).<init>(String, Throwable) …
Run Code Online (Sandbox Code Playgroud)

java android classpath classnotfoundexception

5
推荐指数
1
解决办法
1051
查看次数

破坏的Eclipse项目 - classNotFoundException - 找不到主类

我有一个项目,我一直在Ubuntu 12.04上的Eclipse 3.7.2中开发.最近,我重新构建了包含在包之间移动类的类层次结构.我没有移动我的主类("ob3.converter.Converter"),它包含我的public static void main(String[] args)方法.

现在,当我尝试运行它时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter
Caused by: java.lang.ClassNotFoundException: ob3.converter.Converter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ob3.converter.Converter. Program will exit.
Run Code Online (Sandbox Code Playgroud)

我只是用Eclipse工作(在java中),它为我处理所有开销 - 因此我对这个错误或者可能导致错误的理解很少.我查看了我的运行配置/类路径等,但不知道该寻找什么,它没有结果.

有人能指出我正确的方向吗?我用谷歌搜索/搜索SO,大多数事情谈论一个清单文件,但我一直无法在任何地方找到它.我的工作区文件夹只包含我的源文件.

我可以验证:

  • "转换器"类存在于包"ob3.converter"中.
  • "转换器"类包含一种public static void main(String[] args)方法.
  • "项目属性"中"Java构建路径"页面上的"源"选项卡显示"converter/lib"和"converter/src" - 这两个文件夹包含我的整个项目源.
  • Run Configuration/JRE中使用的JRE是"java-6-openjdk-amd64".
  • "运行配置"中的"类路径"选项卡如下所示:
    • Boostrap条目:
      • JRE系统库[java-6-openjdk-amd64]
    • 用户条目:
      • 转换器(默认类路径)
        • 变流器
  • 自上次成功运行以来,Converter.java的路径没有改变.

很感谢任何形式的帮助!

java eclipse noclassdeffounderror classnotfoundexception

5
推荐指数
1
解决办法
2500
查看次数

ClassNotFoundException:没有为我创建的每个应用程序找到类“com.example.app.MainActivity”

您好,
每次在 Eclipse 中创建 Android 应用程序时,我都会收到 ClassNotFoundException 异常。这是在使用 eclipse 几个月后直到今天早上之前从未发生过的事情。值得一提的是,我今天早上通过 SDK 管理器安装了 google play 服务

Logcat:

11-03 12:39:29.080: E/AndroidRuntime(27547): FATAL EXCEPTION: main
11-03 12:39:29.080: E/AndroidRuntime(27547): Process: com.example.app, PID: 27547
11-03 12:39:29.080: E/AndroidRuntime(27547): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.app/com.example.app.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.app.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.app-1, /vendor/lib, /system/lib]]
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.app.ActivityThread.access$900(ActivityThread.java:161)
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.os.Handler.dispatchMessage(Handler.java:102)
11-03 12:39:29.080: E/AndroidRuntime(27547):    at android.os.Looper.loop(Looper.java:157) …
Run Code Online (Sandbox Code Playgroud)

eclipse android android-manifest classnotfoundexception android-activity

5
推荐指数
1
解决办法
1万
查看次数

线程“main”中的异常 java.lang.NoClassDefFoundError: org/json/JSONObject

我正在使用org.json.JSONObject将参数传递给服务器。我正在使用 Eclipse IDE。我已经将java-json.jar文件添加到项目的构建路径中。但是我在运行代码时仍然遇到以下异常,并且没有显示编译错误。我确实清理了项目并刷新了几次,但最终还是出现了异常。有什么遗漏吗?

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.json.JSONObject
Run Code Online (Sandbox Code Playgroud)

java eclipse json noclassdeffounderror classnotfoundexception

5
推荐指数
1
解决办法
2万
查看次数

使用带有IntelliJ的OpenJDK 9 EA

现在我正在尝试设置IntelliJ来玩我从这里下载并安装的OpenJDK 9 .我得到了64位Windows版本.我通过转到Project Structure并将目录C:\ Program Files\Java\jdk-9添加为新SDK 来添加JDK 9 .在我尝试实际运行程序之前,一切看起来都很正常,然后就会发生这种情况.

Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class java.lang.management.ManagementFactory$PlatformMBeanFinder
java.lang.NoClassDefFoundError: Could not initialize class java.lang.management.ManagementFactory$PlatformMBeanFinder
    at java.lang.management.ManagementFactory.getPlatformMXBeans(ManagementFactory.java:684)
    at java.lang.management.ManagementFactory.getMemoryPoolMXBeans(ManagementFactory.java:392)
    at com.intellij.openapi.util.LowMemoryWatcher.<clinit>(LowMemoryWatcher.java:84)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:118)
    at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:126)
    at org.jetbrains.jps.incremental.storage.AbstractStateStorage.createMap(AbstractStateStorage.java:136)
    at org.jetbrains.jps.incremental.storage.AbstractStateStorage.<init>(AbstractStateStorage.java:41)
    at org.jetbrains.jps.incremental.storage.TimestampStorage.<init>(TimestampStorage.java:36)
    at org.jetbrains.jps.incremental.storage.ProjectTimestamps.<init>(ProjectTimestamps.java:36)
    at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:90)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:266)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:125)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:232)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:44)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632)
    at java.lang.Thread.run(Thread.java:804)
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到过这个问题,并找到了一种方法将JDK 9与IntelliJ一起使用?

java intellij-idea classnotfoundexception java-9

5
推荐指数
1
解决办法
1171
查看次数

ClassNotFoundException:无法运行应用

无法运行应用。该应用程序已成功编译,但因该异常而崩溃

FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 15209
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.myapplication.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601)
    at android.app.ActivityThread.access$800(ActivityThread.java:178)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:194)
    at android.app.ActivityThread.main(ActivityThread.java:5637)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myapplication.MainActivity" on path: DexPathList[[zip file "/data com.example.myapplication-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1071)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) 
    at android.app.ActivityThread.access$800(ActivityThread.java:178) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
    at android.os.Handler.dispatchMessage(Handler.java:111) …
Run Code Online (Sandbox Code Playgroud)

java android gradle classnotfoundexception

5
推荐指数
1
解决办法
1698
查看次数

ClassNotFoundException- .BaseDexClassLoader.findClass

我在生产版本中面临ClassNotFoundException

请在下面找到异常日志。

java.lang.RuntimeException:
at android.app.LoadedApk.makeApplication (LoadedApk.java:578)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:4680)
at android.app.ActivityThread.access$1600 (ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1405)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:5417)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)

Caused by: java.lang.ClassNotFoundException:
at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass (ClassLoader.java:511)
at java.lang.ClassLoader.loadClass (ClassLoader.java:469)
at android.app.Instrumentation.newApplication (Instrumentation.java:982)
at android.app.LoadedApk.makeApplication (LoadedApk.java:573)
Run Code Online (Sandbox Code Playgroud)

我已经在项目中正确设置了 progaurd 和 Multidex,这个问题出现在从 4.2 到 6.0 的多个 android 版本中。

有人能帮忙吗!

提前致谢..

android classnotfoundexception android-multidex android-proguard

5
推荐指数
1
解决办法
758
查看次数

android stuidio中的NoClassDefFoundError异常

引起:java.lang.NoClassDefFoundError:解析失败:Lorg/apache/http/impl/client/DefaultHttpClient

我无法解决以下错误:

引起:java.lang.NoClassDefFoundError:解析失败:Lorg/apache/http/impl/client/DefaultHttpClient; com.medicend.jykra.medicend.Async.Parser.LoginParser.hitWS(LoginParser.java:68)at com.medicend.jykra.medicend.Async.Parser.LoginParser.postData(LoginParser.java:50)at com.medicend .jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:91)at com.medicend.jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:73)at android.os.AsyncTask $ 2.在java.util.concurrent的android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)的java.util.concurrent.FutureTask.run(FutureTask.java:266)调用(AsyncTask.java:333). ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641)at java.lang.Thread.run(Thread.java:764)引起:java.lang .ClassNotFoundException:在路径上找不到类"org.apache.http.impl.client.DefaultHttpClient":DexPathList [[zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/base.apk ",zip文件"/ data/app/c om.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_dependencies_apk.apk",zip文件"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_resources_apk.apk",zip文件"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_0_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_1_apk.apk",zip file"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_2_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_3_apk.apk",zip file"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_4_apk.apk "zip文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_5_apk.apk",zip文件"/数据/应用程序/ com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_6_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_7_apk.apk",zip 文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_8_apk.apk",zip文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_9_apk.apk"], nativeLibraryDirectories = [/ data/app/com.medicend.jykra.medicend -IiBcrMY7QQm4ixa9RIMICQ ==/lib/x86,/ system/lib]],位于java.lang的dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134). Class.Loader.loadClass(ClassLoader.java:379)at java.lang.ClassLoader.loadClass(ClassLoader.java:312)at com.medicend.jykra.medicend.Async.Parser.LoginParser.hitWS(LoginParser.java:68)at com .medicend.jykra.medicend.Async.Parser.LoginParser.postData(LoginParser.java:50)at com.medicend.jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:91)at com.medicend.jykra .medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:73)at android.os.AsyncTask $ 2.call(AsyncTask.java:333)at java.util.concurrent.FutureTask.run(FutureTask.java:266)在android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641) )在java.lang.Thread.run(Thread.java:764)抑制:java.io.IOException:找不到dex位置的原始dex文件/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_resources_apk …

android noclassdeffounderror classnotfoundexception android-studio

5
推荐指数
2
解决办法
4582
查看次数

带有 appcompat-v7:28.0.0 的 Android ClassNotFoundException

我正在开发一个 Android 应用程序,我尝试使用工具栏在其上添加一些功能;这就是我使用 appcompat-v7 模块的原因。我遵循了教程(抱歉,因为它是西班牙语)并且我已经使用兼容性支持包更新了我的 IDE,我还将新模块添加到了我的 Gradle 文件中,并且我已经使用这个新工具栏更新了我的应用程序的设计 XML(我可以在设计编辑器中看到这个工具栏)。

但是,当我启动我的应用程序时,出现以下错误:

     java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class android.support.v7.widget.Toolbar
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: android.view.InflateException: Binary XML file line #10: Binary XML file line #10: Error inflating class android.support.v7.widget.Toolbar
     Caused by: android.view.InflateException: Binary XML …
Run Code Online (Sandbox Code Playgroud)

java android android-appcompat gradle classnotfoundexception

5
推荐指数
1
解决办法
2567
查看次数