7

我正在尝试编译以下代码:

public class DuplicateMainExample {
    public static void main(String[] args) {
        System.out.print("A1");
    }

    public static void main(String... args) {
        System.out.print("A2");
    }   
}

在 Eclipse 中它工作正常,但在这两种方法上都有警告 - “ Duplicate MainExample 类型中的重复方法 main(String[])

使用javac(java版本“1.7.0_09”)我有一个编译错误:

>javac DuplicateMainExample.java
DuplicateMainExample.java:8: error: cannot declare both main(String...) and main
(String[]) in DuplicateMainExample
        public static void main(String... args) {
                           ^
1 error

如何在 Eclipse 中使用 编译javac

4

2 回答 2

9

仅仅因为您已经两次声明了具有完全相同签名的相同方法...只应声明一个类的主要方法。

Eclipse 已经嵌入了自己的编译器,在两种主要方法的情况下,它得到了最后一种,eclipse 编译器和 javac 编译器是两个不同的编译器......

看看这个较旧的帖子以获取更多信息......

如果你想用 javac 编译,你可以尝试在 eclipse 中使用 ant javac 适配器......但是我认为 ECJ 甚至比 javac 更好(我的观点)......

于 2013-01-06T19:56:37.687 回答
5

Eclipse 永远不会使用javac。它的动态高亮能力与它自己的编译器密切相关,它具有增量操作的特殊能力。

如果你想要一个使用 javac 的 IDE,你可以研究一下 intellij。

于 2013-01-06T20:16:28.100 回答