如何使用Eclipse IDE调试命令行编译的Java .class文件?

我是一名具有强大C ++背景的程序员,但是对Java领域还是陌生的。现在我有一个关于调试的问题。

如何使用Eclipse IDE调试预编译的Java .class文件?而且我发现通过Google搜索找到答案确实不是一件容易的事。

为了使我的问题真正准确无误,我作如下解释。

我下面有两个.java源文件:

$
├── src             
│   └── mypkg1      
│       └── Timeline.java 
└── test                  
    └── mypkg1            
        └── TimelineTest.java

In the root folder($), I can compile and run TimelineTest.java using two commands:

javac -classpath ./src test/mypkg1/TimelineTest.java

java  -classpath ./src:./test mypkg1.TimelineTest       

source tree and java compile and run

Now I have $/test/mypkg1/TimelineTest.class with Java byte code in it.

Then how can I do source-level debugging on the TimelineTest.class?

I tried, but no success yet. I created a Eclipse project as $/test/mypkg1/.project, then create a Debug configuration for it as below. But, when start debugging, I got red error message:

错误:找不到或加载主类TimelineTest      造成原因:java.lang.NoClassDefFoundError:mypkg1 / TimelineTest(错误   名称:TimelineTest)

Eclipse blame error on starting debugging

那正确的方法是什么呢?

这里的关键要求是,我不应该费心去做冗长的Eclipse项目设置,鼠标在这里和那里单击数百次。我想要的是快速加载二进制文件并开始调试。您知道,在C ++世界中确实是这样。例如,使用Visual Studio IDE,依次选择“文件”→“打开项目”→“选择一个EXE文件”作为项目文件,这就是告诉VS IDE调试该EXE的方式。打开“项目”后,按F10键,调试器就在main()的第一行停止调试对象,就这么简单。

如何使用Eclipse实现相同目的?还是建议使用其他可行的Java调试器?

== Timeline.java ==

package mypkg1;

public class Timeline {

    private int fetchCount;

    public void setFetchCount(int fetchCount) {
        this.fetchCount = fetchCount;
    }

    public int getFetchCount() {
        return fetchCount;
    }
}

== TimelineTest.java ==

package mypkg1;

public class TimelineTest {

    public static void main(String[] args) {

        Timeline timeline = new Timeline();
        int expected = 5;

        timeline.setFetchCount(expected);
        int actual = timeline.getFetchCount();

        System.out.println("Fetch = "+actual);
    }
}