的IntelliJ构建时间太长。摇篮没有帮助

问题描述 投票:3回答:1

我由长编译时间开始我的应用程序之前,这个想法需要受挫。我使用DCEVM享受动态更改代码比普通热插拔确实好,但如果我真的需要开始我的应用程序多次,这并不工作。

IDEA被认为是能够有增量编译,但我没有看到它。我看不出有任何选项来启用它。启动或启动应用程序的调试,需要将近半分钟。必须要花这么长时间?从理论上讲,IDEA已经所有的类文件已经生成,除了刚刚编辑的源文件。 IDEA应该能够填补空白少,并且得到几乎立即运行的应用程序。什么是抱了起来,为什么它坚持它必须重新编译每一个源文件? PS。我使用IDEA Eclipse编译器,因此它容忍一些源文件不被编译。我不得不这样做,因为它是java文件,在这里我无法控制每一个一个巨大的树。

然后,我看到,也许摇篮确实有增量编译。所以我想重新创建我的项目,这次摇篮。我有一个非常困难的时期弄清楚它是如何工作,如何整合,从IDEA移动什么任务摇篮(如果有的话)。即使是创建具有摇篮在IDEA一个简单的框架测试应用程序是非常令人沮丧。有模糊位的种种遍布离开你猜测的地方。在Jetbrains的教程是几乎无用。我无法找到一个单一的清楚,只是解释了它简而言之它是​​如何工作的地步。我看到一些演示,上面写着:点击这里,并在这里和那里,但我最终的结果是不一样的我所看到的概述。

例如,摇篮抱怨说,它无法找到JUnit的罐子。好了,我进入项目设置,并尝试JUnit的jar添加到classpath中。在图书馆,我后来看到一个条目,以“摇篮:JUnit的:JUnit的:4.11”。但有一个第二个:“JUnit的4.11”。为什么是两个?我能删除吗?为什么一个如此言语,结肠这个冒号等,所以我加了JUnit的jar文件我必须两者。但随后在摇篮项目窗口,在这里我看到了gradle这个项目设置的层次细分,verification->测试。这则应该运行测试类我还是设法创造。

FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':testCompileClasspath'.
> Could not resolve junit:junit:4.11.
  Required by:
      xpert_client4:xpert_client4:1.0-SNAPSHOT
   > No cached version of junit:junit:4.11 available for offline mode.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

“无法解析的JUnit:JUnit的:4.11”。

摇篮是非常令人沮丧。如果我必须有,是开始一个main()在一个大的项目,为什么我会经历这样的麻烦使用该gradle这个系统,提供的东西我不需要吗?为什么会这样令人费解的,模糊的,和混乱?

这同样适用于一个Android项目。 IDEA可以编译并没有摇篮运行Android应用程序就好了。简单地避免任何gradle这个设置时,它只是工作。

再加上有所有一个必须做,以加快所谓慢摇篮系统的事情。还有就是守护的东西。并行,显然可以将其设置在两个方面(为什么)。配置上的需求。全球化。最小化。的minSdkVersion。离线(哦,不,不就是Maven的事情,一遍又一遍地从互联网上拉低jar文件)。 jCenter。简介....它的推移和。所有这些解决方法,黑客调整,调整。有没有通过gradle这个-ifying工作IDEA项目中获得什么?我会得到更快的建立和启动时间,如果我要经历这些麻烦?我能避免完全摇篮,一直到永远(因为它不以某种方式成为强制性的希望)。

自80年代以来我一直在编码。我已经使用了各种系统。我已经建立自己的编译系统。我不是这里的绿色。我也很讨厌有RTFM,如果这些外长没有得到的点,不解释的事情做好 - 因为如果写的那些,并不真正了解它自己 - 他们知道按得到它什么按钮去,就是这样。我觉得这件事情的最令人沮丧的事情,我在很长一段时间看到一个。以前可怕的构建系统我已经试过在过去,由于避免了像瘟疫一样,是Maven的。缺乏这些系统思路清晰,令人咋舌。

因此,除了这些挫折,我追求的是什么:是值得搞清楚摇篮和应用的所有解决方法和调整,让我可以,我一次经历这种悲痛,享受更快的构建和我的应用程序的启动时间?

或者,我会过得更好,避免完全摇篮,而是,这样做的地方我的应用程序的启动在一个循环,这样每次我退出是它重新运行的主要应用()。然后我会用DCEVM代码上,而可能的飞行。

最后,我忘了提。在IDEA启用自动生成的作品真的很糟糕。一次构建,似乎总是涉及重楼的每一个文件,一遍又一遍。并设置建立自动,所有它最终做的是它在后台一遍遍重做这一点。没有什么,发生在异步方式,在这里当我完成编辑源文件,并启动应用程序,其中IDEA做过任何建筑物的背景时间提前的调试,因为它后再重做整个事情每一个微小的代码更改。另外,它使得CPU的峰值接近100%不断。 IDEA是一个伟大的IDE,但整个编译事情是一个总的噩梦前后。

java intellij-idea gradle
1个回答
0
投票

请确保您的摇篮禁用防病毒保护缓存目录和你的IntelliJ项目目录。对我来说,这降低了Java的编译时间大幅提升,因为所有与Java相关的构建中间文件和JAR文件。不包括从Windows搜索索引那些相同的目录,也可以提供帮助。


0
投票

连我都面临着同样的问题,发现IntelliJ IDEA的一个选项,它紧密解决了我的问题,但不完全。

Build Project Automatically and Compile in Parallel

虽然它并没有完全解决,但我看到一些性能改进在编译的时候,每当我添加/升级​​的依赖和运行测试。

© www.soinside.com 2019 - 2024. All rights reserved.