当前位置: 首页 > 知识库问答 >
问题:

使用Maven和IntelliJ IDEA处理大型项目的技巧

皇甫飞跃
2023-03-14

我读了一篇关于一个团队在大型maven项目中使用Intellij Idea的博客文章,也看了一个大约两年前在Idea V.10.0.2中发布的类似问题。

前面提到的一个提示非常有意义:
C:\users\$user\.intellijidea12移动到防病毒程序不访问扫描的文件夹中。

我四处搜索了以性能为中心的VM选项,当前我的idea64.exe.vmoptions如下所示:

-Xms1200m
-Xmx1200m
-XX:MaxPermSize=200m
-ea
-server
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+UnlockExperimentalVMOptions
-XX:+UseParallelGC
-XX:ReservedCodeCacheSize=64m
-XX:+UseCodeCacheFlushing
-Dsun.io.useCanonCaches=false

>

  • 对于大型/巨大的maven项目,您是否有更多此类改进Intellij IDEA(12.1.3,64位)性能的提示?

    请分享您在idea64.exe.vmoptions和/或在IDEA.properties中所做的W.R.T VM选项和/或IDEA配置的发现。

    我尝试过使用JDK7来启动IDEA,但这似乎不会以某种方式严重影响它的性能。如果你试过这样做,你的经历是一样的吗?

  • 共有1个答案

    段志
    2023-03-14

    按照@crazycoder的建议,我按照官方常见问题解答中关于此事的步骤进行了操作:

    IntelJ IDEA性能问题的通用解决方案

    具体地说,以下情况似乎产生了明显的影响:

    禁用了Git集成插件,因为我主要使用命令行cygwin-git。

    监视.intellijidea12/idea.log非常有用。例如:我禁用了osmorc(用于OSGI)插件,因为它在尝试打开项目中的zip文件时经常记录错误。示例错误:

    WARN-pi.vfs.impl.jar.jarHandlerBase-打开zip文件时出错:C:\dev\a-maven-project\pom.xml java.util.zip.zipfile.open(本机方法)
    打开java.util.zip.zipfile时出错。(zipfile.java:127)
    打开java.util.zip.zipfile时出错。(zipfile.java:143)

    禁用了我不需要的所有插件。当前禁用插件列表为:

    禁用的插件:ASP(0.1),Android设计师,Android支持(10.0),IntelliJ IDE Atlassian连接器(3.0.9,SVN:1212171008),基cucumber(1.0),BashSupport(1.1beta16),CFML支持(3.53),CheckStyle-IDEA(4.2),ClearCase集成(2.0),云代工集成(1.0)、CloudBees集成(1.0),指挥官(1.0.0),复制为HTML(0.8.1),对于Groovy(1.0),Cucumber for Java(1.0),数据库导航器(3.0.2501),描述键(0.3),口水支持(1.0),Eclipse集成(3.0),Flash/Flex支持(1.0),GWT支持(1.0),Geronimo集成(1.0),Git集成(8.1),GitHub,Google App Engine集成(1.1.4),Grep控制台(1.1),GuiceyIDEA(8.0),哈姆勒,IDEtalk(1.0),IdeaVim(0.28),标识符荧光笔(3.62),IntelliJad Plus(0.5.6),JBoss集成(1.0),JBoss jBPM(2.0.0),JRebel插件(2.0.2),JavaFX(1.0),关键启动子(1.0.11),Log4JPlugin(1.02),降价(0.8.3),Osmorc(1.4.3),Perforce Integration(2.0),PluginUpdateNotifier(2.0.3)、RemoteTail(0.3.4)、Resin集成(8.1)、Ruby(5.4.0.20130410)、SQL查询插件(2.2)、SSH远程运行(0.1)、Seam Pageflow支持(1.0)、Seam Pages支持(1.0)、Seam支持(1.0)、SmarterEditor(0.8.3)、Struts Navigator插件(1.3.4)、Subversion集成(1.1)、TFS集成(999.999)、Tapestry支持(1.0)、TestNG-J(8.0)、UI设计器、UI设计器(核心)、Vaadin支持(1.0)、Visual SourceSafe集成(2.0)、WebLogic集成(1.0)、WebSphere

     类似资料:
    • 问题内容: 我有一些Python代码可以执行一个外部应用程序,当该应用程序的输出量很少时,它可以很好地运行,但是在有大量输出时,它会挂起。我的代码如下: 文档中有一些注释似乎表明了潜在的问题。等待中,有: 警告:如果子进程向或管道生成足够的输出,从而阻塞等待OS管道缓冲区接受更多数据的输出,则将死锁。使用避免这种情况。 尽管进行了交流,但我发现: 注意读取的数据缓存在内存中,因此,如果数据大小很大

    • 我尝试在Intellijidea中打开Maven项目。这个项目使用了spark和Scala。当我跑的时候: 则会给出错误: [错误]无法执行目标org.scalastyle:scalastyle-maven-plugin:0.7.0:项目spark-mllib_2.10:scalastyle执行期间失败:您有50个scalastyle冲突 我认为问题出在Maven的版本上。实际上,在Intelli

    • 首先,我们需要了解什么是Maven。一个Maven的是用于构建基于Java的项目,该项目的一个工具有几个好处和选项使构建流程功能强大,易于理解和容易。Maven 负责下载所有必要的依赖项并将它们正确地包含在项目中。Maven 是 Apache 软件基金会的一部分。 以下是在我们的项目中配置 log4j 日志记录支持的最基本步骤: 1)创建一个Maven项目 输入Group Id 和 Artifac

    • 问题内容: 我继承了一个当前在eclipse中构建的Web项目(Servlets)。 我想在它周围添加行家。但是项目的源目录未遵循maven约定。而不是在src / main / java内部,而是src / package / name / … 我现在不想更改任何内容,因为它们正在全速朝着一个里程碑迈进。我可以配置maven接受src /作为java源目录吗?谢谢 问题答案: 只需在本节中将其添

    • 我正在尝试实现一个Spring批处理作业,为了处理记录,它需要2-3个db调用,这会减慢记录的处理速度(大小为100万)。如果我使用基于块的处理,它会单独处理每条记录,性能会很慢。因此,我需要一次性处理1000条记录,作为批量处理,这将减少数据库调用,并提高性能。但我的问题是,如果我实现Tasklet,那么我也会失去可重启性和重试/跳过功能,如果使用AggregateInputReader实现,我

    • 我有一个使用Maven、JPA和JavaFX的项目。我在maven中执行安装。一切都很顺利。但是当我运行jar文件时,我得到了带有异常的堆栈跟踪。 pom。xml 也是我的StackTrace 我在谷歌上搜索了这个问题,但没有找到对我有帮助的东西。 若我在引用DB的代码中注释了两行,那个么应用程序就会启动。好吧。我的应用程序找不到持久性类。我做错了什么?