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

roy*_*sch 5 java android classpath 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) line: not available  
    ClassNotFoundException.<init>(String) line: not available   
    URLClassLoader$1.run() line: not available  
    URLClassLoader$1.run() line: not available  
    AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]   
    Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available   
    Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
    Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
    Launcher$AppClassLoader.loadClass(String, boolean) line: not available  
    Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available  
    TestAllPlayAll.main(String[]) line: 15  
Run Code Online (Sandbox Code Playgroud)

感谢:D

roy*_*sch 3

问题已经解决了。可悲的是我不知道解决方案。我所做的只是打开一个新项目并使用其中的代码。完成此操作后,我可以毫无问题地调试代码。

抱歉,我无法为真正解决这个问题做出贡献,也无法帮助社区回答我自己的问题。

感谢所有试图提供帮助的人,D.