Intellij IDEA崩溃了,现在抛出一个错误


103

我在Intellij IDEA中工作,但是计算机死机,因此我关闭了计算机。(长按电源按钮)当我打开计算机并启动IntelliJ IDEA时,出现以下错误:

Cannot load settings from file 'C:\Users\user\.IdeaIC13\config\options\code.style.schemes.xml': java.lang.AssertionError: Unexpected content storage modification File content will be recreated

我关闭IDEA并重新开始,现在没有上一个错误,但是当我打开项目时出现以下错误:

Error:Internal error: (org.jdom.input.JDOMParseException) Error on line 1: Content is not allowed in prolog.
org.jdom.input.JDOMParseException: Error on line 1: Content is not allowed in prolog.
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)
    at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:364)
    at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:342)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadRootElement(JpsLoaderBase.java:69)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadRootElement(JpsLoaderBase.java:40)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadComponents(JpsLoaderBase.java:52)
    at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:119)
    at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:98)
    at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:41)
    at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:45)
    at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:71)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:198)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:113)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:133)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
    ... 20 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)
    at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:364)
    at com.intellij.openapi.util.JDOMUtil.loadDocument(JDOMUtil.java:342)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadRootElement(JpsLoaderBase.java:69)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadRootElement(JpsLoaderBase.java:40)
    at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadComponents(JpsLoaderBase.java:52)
    at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:119)
    at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:98)
    at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:41)
    at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:45)
    at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:71)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:198)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:113)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:133)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

我该如何解决这个问题?


检查XML文件上的编码。该错误表明这是编码错误的结果-即,字节序标记不应该出现在此处。
Makoto

当Android Studio尝试在启动时强制检查新的SDK版本时,会发生此问题。绝对没有人可以修复它。
IgorGanapolsky

Answers:


208

此答案适用于IntelliJ和AndroidStudio

如果您甚至无法在IntelliJ [AndroidStudio]中打开项目,请执行以下操作:

  • 关闭IntelliJ [AndroidStudio]
  • 转到目录<your_home> /。IntelliJIdeaXX [.AndroidStudioXX] / system / cache

    哪里

    • <您的家>是

      • Windows用户:(C:\Users\<**Your User**>\%USERPROFILE%
      • Linux用户(Ubuntu),Mac: ~/
    • XX是您的IntelliJ版本(此版本在某些版本中为“缓存”。)

  • 删除缓存目录中的所有文件。
  • 然后重新启动IntelliJ [AndroidStudio]

过去这对我有用。


3
什么是家?项目所在的工作空间?程序文件中的Android Studio / Android /?还是Users / UserName / AndroidStudio中的Android Studio文件夹?
安德鲁S

2
这取决于您使用的操作系统。例如,Windows 7中用户的默认主目录为c:\ Users \ <login_user_name>。对于Linux,请运行“ echo $ HOME”
Ask613

当然可以,但是请注意,这将重置Intellij中的设置(字体,格式设置等)。幸运的是,您可以轻松地将其恢复为设置,因为当您第一次更改这些设置时,您必须创建一个方案,而该方案仍然存在。
NecipAllef

在想法13中,“缓存”目录现在为“缓存”,删除其中的所有内容仍然有效。
Yann 2015年

该文件夹不包含它。[macbook_tcs] ---> [/ Users / timsiwula /] $ cd〜/ .IntelliJIdea15 / [macbook_tcs] ---> [/Users/timsiwula/.IntelliJIdea15/]$ ls -la总计0 drwxr-xr-x 3 timsiwula员工102 Jun 12 10:57。drwxr-xr-x + 105 timsiwula人员3570 Nov 6 23:47 .. drwxr-xr-x 3 timsiwula人员102 Oct 7 22:37重新启动[macbook_tcs] ---> [/Users/timsiwula/.IntelliJIdea15/]$
timxor

69

我的解决方案

project/.idea我已损坏的workspace.xml文件。我只是关闭Android Studio(Intellij IDEA),删除此文件并启动Android Studio。

所有其他方法都不适合我。


做得好!但是必须再次添加SDK。
WeirdElfB0y 2015年


12

我遇到了同样的问题,我删除了.idea目录和* .iml文件,并再次创建了项目。


从项目文件所在的OS资源管理器中获取
Hossein 2015年

2
  1. 在.idea文件夹中,存在许多XML文件。

  2. 如果某些XML文件无效,则会出现此错误。

  3. 首先检查workspace.xml文件是否有效。

  4. 如果workspace.xml文件有效,则检查其他文件。


2

就我而言,.idea下的项目文件已损坏。如果您已将项目文件检入SVN或保存在某处,则只需删除所有本地更改并恢复为先前的工作副本即可。也可以通过File-> Invalidate Cache重建缓存。

之后,它对我来说是固定的。“错误:内部错误:(org.jdom.input.JDOMParseException)”消失了。


1

当Android Studio开启时Windows崩溃时,我遇到了同样的问题。我遵循以下步骤:

  • 关闭Android Studio
  • 删除.idea项目文件夹之外的目录。注意:请勿删除.idea项目文件夹中的目录。.idea您必须删除的目录将包含一些.iml文件。
  • 重新启动Android Studio
  • tadaaa!


  • 1

    我有几次发现,当我有一个XML文件时,在文件开头的xml或doc类型声明的前面带有前导空格时,出现了“序言中不允许出现内容”。

    我有相同的症状,可以通过关闭项目并浏览项目“ .idea”文件夹中的每个XML文件来解决。以我为例,我发现以某种方式在“ workspace.xml”文件中添加了数百行的空白。我从文件中删除了开头的空格,重新启动了IDEa,然后一切又恢复了。


    1

    就我而言,这些都不起作用。

    但是最终的解决方案非常简单:

     rm -r ~/Library/Preferences/AndroidStudio[X.X]/codestyles/

    0

    如果您使用的是github之类的版本控制系统,最简单的方法是擦除您的项目文件夹,打开IntelliJ并再次克隆您的存储库。任何损坏的文件都将消失,它应该可以再次正常工作。

    By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
    Licensed under cc by-sa 3.0 with attribution required.