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

คำตอบ:


208

คำตอบนี้ใช้ได้กับทั้ง IntelliJ และ AndroidStudio

หากคุณไม่สามารถเปิดโปรเจ็กต์ของคุณใน IntelliJ [AndroidStudio] ได้:

  • ปิด IntelliJ [AndroidStudio]
  • ไปที่ไดเร็กทอรี<your_home> /.IntelliJIdeaXX[ AndroidStudioXX]/system/cache

    ที่ไหน

    • <your_home> คือ

      • ผู้ใช้ Windows: C:\Users\<**Your User**>\(หรือ%USERPROFILE%)
      • ผู้ใช้ Linux (Ubuntu), Mac: ~/
    • XX คือเวอร์ชัน IntelliJ ของคุณ (ไดเรกทอรีนี้คือ "แคช" ในบางเวอร์ชัน)

  • ลบไฟล์ทั้งหมดในไดเร็กทอรีแคช
  • จากนั้นรีสตาร์ท IntelliJ [AndroidStudio]

สิ่งนี้ได้ผลสำหรับฉันในอดีต


3
บ้านคืออะไร? พื้นที่ทำงานที่โครงการตั้งอยู่? Android Studio ในไฟล์โปรแกรม / Android /? หรือโฟลเดอร์ Android Studio ใน Users / UserName / AndroidStudio?
Andrew S

2
ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ ตัวอย่างเช่นโฮมไดเร็กทอรีเริ่มต้นของผู้ใช้ใน Windows 7 คือ c: \ Users \ <login_user_name> สำหรับ Linux ให้เรียกใช้ "echo $ HOME"
Ask613

วิธีนี้ใช้งานได้อย่างแน่นอน แต่โปรดทราบว่าจะรีเซ็ตการตั้งค่าของคุณ (แบบอักษรการตั้งค่าการจัดรูปแบบ ฯลฯ ) ใน Intellij ของคุณ โชคดีที่คุณสามารถนำกลับมาในการตั้งค่าได้อย่างง่ายดายตั้งแต่เมื่อคุณเปลี่ยนการตั้งค่าเหล่านี้ครั้งแรกคุณต้องสร้างโครงร่างและโครงร่างนั้นยังคงมีอยู่
NecipAllef

ในแนวคิดที่ 13 ไดเรกทอรี "แคช" ตอนนี้คือ "แคช" - การลบทุกอย่างในนั้นยังคงใช้งานได้
ยาน

โฟลเดอร์นั้นไม่มีอยู่ [macbook_tcs] ---> [/ Users / timsiwula /] $ cd ~ / .IntelliJIdea15 / [macbook_tcs] ---> [/Users/timsiwula/.IntelliJIdea15/]$ ls -la รวม 0 drwxr-xr-x 3 เจ้าหน้าที่ timsiwula 102 มิ.ย. 55 10:57 น. drwxr-xr-x + 105 พนักงาน timsiwula 3570 พ.ย. 61 เวลา 23:47 น. drwxr-xr-x 3 พนักงาน timsiwula 102 ต.ค. 7 22:37 รีสตาร์ท [macbook_tcs] ---> [/Users/timsiwula/.IntelliJIdea15/]$
timxor

69

ทางออกของฉัน

ในproject/.ideaฉันมีworkspace.xmlไฟล์ที่เสียหาย ฉันเพิ่งปิด Android Studio (Intellij IDEA) ลบไฟล์นี้และเริ่ม Android Studio

วิธีอื่น ๆ ทั้งหมดไม่ได้ผลสำหรับฉัน


ทำงานได้ดี! แต่ต้องเพิ่ม SDK อีกครั้ง
WeirdElfB0y


12

ฉันมีปัญหาเดียวกันฉันลบไดเร็กทอรี. ida และไฟล์ * .iml และสร้างโปรเจ็กต์อีกครั้ง


จาก OS explorer ซึ่งเป็นที่ตั้งของไฟล์โครงการ
Hossein

2
  1. ในโฟลเดอร์ .idea มีไฟล์ XML จำนวนมาก

  2. ข้อผิดพลาดนี้เกิดขึ้นหากไฟล์ XML บางไฟล์ไม่ถูกต้อง

  3. ขั้นแรกให้ตรวจสอบไฟล์ workspace.xml ว่าถูกต้องหรือไม่

  4. หากไฟล์ workspace.xml ถูกต้องให้ตรวจสอบไฟล์.


2

ในกรณีของฉันไฟล์โปรเจ็กต์ภายใต้ .idea เสียหาย หากคุณตรวจสอบไฟล์โครงการใน SVN หรือบันทึกไว้ที่ใดที่หนึ่งเพียงแค่ลบการเปลี่ยนแปลงในเครื่องทั้งหมดและเปลี่ยนกลับเป็นสำเนาที่ใช้งานได้ก่อนหน้านี้ สร้างแคชใหม่โดย File -> Invalidate Cache

หลังจากนั้นจะได้รับการแก้ไขสำหรับฉัน "ข้อผิดพลาด: ข้อผิดพลาดภายใน: (org.jdom.input.JDOMParseException)" หายไป


1

ฉันมีปัญหาเดียวกันเมื่อ Windows ขัดข้องในขณะที่ Android Studio เปิดอยู่ ฉันทำตามขั้นตอนต่อไปนี้: -

  • ปิด Android Studio
  • ลบ.ideaไดเร็กทอรีนอกโฟลเดอร์โปรเจ็กต์ หมายเหตุ:อย่าลบ.ideaไดเร็กทอรีภายในโฟลเดอร์โครงการ .ideaไดเรกทอรีที่คุณจะต้องลบจะมีบาง.imlไฟล์
  • รีสตาร์ท Android Studio
  • ทาดาด้า !!


  • 1

    ฉันพบหลายครั้งว่า "ไม่อนุญาตให้ใช้เนื้อหาใน prolog" เมื่อฉันมีไฟล์ XML ที่มีช่องว่างนำหน้าการประกาศประเภท xml หรือ doc ที่จุดเริ่มต้นของไฟล์

    ฉันมีอาการเดียวกันและสามารถแก้ไขได้โดยการปิดโปรเจ็กต์และเปิดไฟล์ XML แต่ละไฟล์ในโฟลเดอร์ ".idea" ของโปรเจ็กต์ ในกรณีของฉันฉันพบว่ามีการเพิ่มช่องว่างชั้นนำสองสามร้อยบรรทัดไปยังไฟล์ "workspace.xml" ฉันลบช่องว่างชั้นนำออกจากไฟล์รีสตาร์ท IDEa และทุกอย่างทำงานอีกครั้ง


    1

    ในกรณีของฉันสิ่งเหล่านี้ไม่ได้ผล

    แต่วิธีสุดท้ายนั้นง่ายมาก:

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

    0

    หากคุณใช้ระบบควบคุมเวอร์ชันเช่น github วิธีที่ง่ายที่สุดคือลบโฟลเดอร์โครงการของคุณเปิด IntelliJ และโคลนที่เก็บของคุณอีกครั้ง ไฟล์ใดที่เสียหายจะหายไปและควรใช้งานได้ดีอีกครั้ง

    โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
    Licensed under cc by-sa 3.0 with attribution required.