如何使用Oracle javac 1.7.0_09配置Eclipse进行编译?

can*_*ane 7 java eclipse javac

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

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

    public static void main(String... args) {
        System.out.print("A2");
    }   
}
Run Code Online (Sandbox Code Playgroud)

在Eclipse中,它工作正常,但在两个方法上都有警告 - " DuplicateMainExample "中的" Duplicate method 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
Run Code Online (Sandbox Code Playgroud)

如何使用Eclipse编译javac

ale*_*oot 10

只是因为你已经两次使用完全相同的签名声明了相同的方法...只应声明一个类的主方法.

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

看看这篇较旧的帖子了解更多信息......

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

  • 实际上,这不是问题.我认为OP意识到了这一点.问题是如何告诉Eclipse使用javac而不是自己的前端. (3认同)

bma*_*ies 5

Eclipse 永远不会使用javac。它进行动态突出显示的能力与其自身的编译器密切相关,后者具有特殊的增量操作能力。

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