在我上次的采访中,我被问到一个关于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 ......
我搜索了这个例外以及我发现的所有地方 - 他们都谈到了我在采访中被告知的同样问题.没有关于"实施"=)
感谢您的关注.
我正在开发一个 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) 我有一个项目,我一直在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,大多数事情谈论一个清单文件,但我一直无法在任何地方找到它.我的工作区文件夹只包含我的源文件.
我可以验证:
public static void main(String[] args)方法.很感谢任何形式的帮助!
您好,
每次在 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
我正在使用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
现在我正在尝试设置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一起使用?
无法运行应用。该应用程序已成功编译,但因该异常而崩溃
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) 我在生产版本中面临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
引起: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
我正在开发一个 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