Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IntelliJ IDEA:第一次编译需要很多时间_Java_Eclipse_Compiler Construction_Intellij Idea - Fatal编程技术网

Java IntelliJ IDEA:第一次编译需要很多时间

Java IntelliJ IDEA:第一次编译需要很多时间,java,eclipse,compiler-construction,intellij-idea,Java,Eclipse,Compiler Construction,Intellij Idea,我正在使用IntelliJ IDEA开发我的Java应用程序。我对第一次编译一个项目(或一次完整的重建)需要花费很长时间,大约15分钟(而且非常占用CPU)感到失望。该项目由数百个Java类组成,但使用Eclipse编译它只需要1-2分钟 为了加快这一步,我可以设置任何编译选项吗 更新 我的配置:SSD、64GB RAM、Xeon E5-1660、Win 7 Ultimate 编译时间(重建): 日食:30秒 IntelliJ IDEA与Eclipse编译器45s 使用javac编译器的Int

我正在使用IntelliJ IDEA开发我的Java应用程序。我对第一次编译一个项目(或一次完整的重建)需要花费很长时间,大约15分钟(而且非常占用CPU)感到失望。该项目由数百个Java类组成,但使用Eclipse编译它只需要1-2分钟

为了加快这一步,我可以设置任何编译选项吗

更新

我的配置:SSD、64GB RAM、Xeon E5-1660、Win 7 Ultimate

编译时间(重建):

  • 日食:30秒

  • IntelliJ IDEA与Eclipse编译器45s

  • 使用javac编译器的IntelliJ IDEA:超过10分钟(!)


java类的数量~5000

您可以使用IntelliJ IDEA的Eclipse编译器

从设置->编译器->Java编译器:“使用编译器:”(从Javac更改为Eclipse)启用Eclipse编译器

更新:以下是我在一个相当大的项目上使用IntelliJ IDEA 13进行完整重建的编译时间:

Using javac 1.7.0_45 to compile java sources
Compilation completed successfully with 60 warnings in 27 sec

Using eclipse compiler to compile java sources
Compilation completed successfully with 652 warnings in 26 sec
因此,您的设置似乎有些奇怪

  • 我们把我们的项目放在SSD驱动器上,这加快了这个想法 显著重建(大约一半的时间)
  • 我不认为你在比较相同的东西,eclipse肯定已经在后台做了一些工作,或者在某个地方有缓存,但我对eclipse不太了解

  • IntelliJ支持部门的答复:

    从中尝试13.0.2

    在中禁用在重建时清除输出目录的选项 编译器设置


    您还可以增加文件
    Intellij IDEA\bin\IDEA.exe.vmoptions
    中的堆大小。例如,尝试以下方法(假设您有很多RAM):


    完成此操作后,您需要使用
    idea 64.exe
    启动
    idea
    ,因为默认的
    32位版本将无法使用大ram。

    将以下设置(构建进程堆大小)更改为某个大值


    关闭所有其他项目?在一台现代计算机上,几百个项目将在10秒内完成编译,您的配置是什么?病毒扫描程序可能会扫描该项目中的所有JAR吗?如果速度明显较慢,请报告问题。更新:肯定有问题。他们可以修复它,如果你报告的话。。。
    -Xmx6g
    -Xms6g
    -XX:MaxPermSize=512m
    -ea
    -server
    -XX:+UseConcMarkSweepGC