IDEA自动关闭

IDEA怎么了?

最近一段时间IDEA总是会自动关闭,一般是刚打开,加载时就无声无息的自动退出了。。。

网上查了很多博客,看看怎么说的。。
大部分如下。。。嗯,修改运行内存,最大内存等等。
事实上,我改了很多个匹配值,抱歉,该退出还是退出。

修改下idea的运行内存大小
步骤:
安装目录下的bin
找到idea.exe.vmoptions 最大的修改下-Xmx1024m
找到idea64.exe.vmoptions 最大的修改下-Xmx1024m

OK, 受不了啦。还是得靠自己啊。

打开IDEA的日志文件。
IDEA自动关闭

org.jetbrains.idea.maven.indices.MavenIndexException: Incompatible index version, needs to be updated: C:\Users\Administrator.IdeaIC2018.1\system\Maven\Indices\Index0
at org.jetbrains.idea.maven.indices.MavenIndex.(MavenIndex.java:136)
at org.jetbrains.idea.maven.indices.MavenIndices.load(MavenIndices.java:58)
at org.jetbrains.idea.maven.indices.MavenIndices.(MavenIndices.java:46)
at org.jetbrains.idea.maven.indices.MavenIndicesManager.ensureInitialized(MavenIndicesManager.java:113)
at org.jetbrains.idea.maven.indices.MavenIndicesManager.getIndicesObject(MavenIndicesManager.java:96)
at org.jetbrains.idea.maven.indices.MavenIndicesManager.ensureIndicesExist(MavenIndicesManager.java:173)
at org.jetbrains.idea.maven.indices.MavenProjectIndicesManager3.run(MavenProjectIndicesManager.java:109)atcom.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337)atcom.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327)atcom.intellij.util.ui.update.MergingUpdateQueue.lambda3.run(MavenProjectIndicesManager.java:109) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327) at com.intellij.util.ui.update.MergingUpdateQueue.lambdaflush1(MergingUpdateQueue.java:277)atcom.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:291)atcom.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246)atcom.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:231)atcom.intellij.util.Alarm1(MergingUpdateQueue.java:277) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:291) at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:231) at com.intellij.util.AlarmRequest.runSafely(Alarm.java:405)
at com.intellij.util.Alarm$Request.access700(Alarm.java:330)atcom.intellij.util.Alarm700(Alarm.java:330) at com.intellij.util.AlarmRequest1.run(Alarm.java:371)atcom.intellij.util.Alarm1.run(Alarm.java:371) at com.intellij.util.AlarmRequest.run(Alarm.java:382)
at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)atjava.util.concurrent.FutureTask.run(FutureTask.java:266)atcom.intellij.util.concurrency.SchedulingWrapperRunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.intellij.util.concurrency.SchedulingWrapperMyScheduledFutureTask.run(SchedulingWrapper.java:228)
at com.intellij.util.concurrency.BoundedTaskExecutor2.run(BoundedTaskExecutor.java:212)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)atjava.util.concurrent.ThreadPoolExecutor2.run(BoundedTaskExecutor.java:212) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

好了,注意到第一行,嗯,不匹配的版本,oh,maven不匹配的版本。。。

接下来咋整呢?

只需要在打包的时候指定maven版本就可以了。

打开pom.xml文件

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>

ok,暂时没有再自动退出了。