में सामग्री की अनुमति नहीं है मैं स्प्रिंग के लिए नया हूं और स्प्रिंट टूल सूट (ग्रहण) का उपयोग करना शुरू कर दिया है और इस त्रुटि को मेरे मैवेन प्रोजेक्ट में जावा फ़ाइल में देख रहा हूं: "प्रोलॉग में सामग्री की अनुमति नहीं है"। यह कक्षा को संकलित करने से रोकता है (जो कि बस एक न्यूनतम स्प्रिंगबूट अनुप्रयोग वर्ग है) ग्रहण में।जावा फ़ाइल: प्रोलॉग
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
मैंने वेब को खराब कर दिया है और देखा है कि लगभग हर संदर्भ में, यह एक एक्सएमएल-पार्सिंग त्रुटि है। मैं तीन एक्सएमएल फाइलों को अद्यतन कर रहा था लेकिन एक हेक्स संपादक में <?xml
से पहले कोई अदृश्य वर्ण नहीं देखा। वे सभी यूटीएफ -8 एन्कोडिंग का उपयोग करने के लिए निर्दिष्ट करते हैं और मैं 0 बाइट्स को वैकल्पिक रूप से नहीं देख रहा हूं जो एक आकस्मिक यूटीएफ -16 एन्कोडिंग का संकेत देगा। रेखा समाप्ति लगातार लगती है (केवल एक लाइन फ़ीड)।
दिलचस्प बात यह है कि यह "मैवेन क्लीन इंस्टॉल" के साथ कंपाइलर त्रुटियों के बिना बनाता है। मुझे जावा फ़ाइल में कोई विशेष पात्र नहीं दिख रहा है, लेकिन ग्रहण मुझे बताता है कि फाइल समस्या है और यह वसंत बीन्स की समस्या है। त्रुटि संदेश पैकेज विवरण के साथ पहली पंक्ति पर दिखाता है।
कोई भी विचार क्या मूल समस्या है या मैं इसे कैसे हल कर सकता हूं?
अद्यतन के रूप में अनुरोध किया है, यहाँ मेरी pom.xml फ़ाइल है:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-rest-service</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<targetPath>com/test/mybatis/mappers</targetPath>
<directory>src/main/java/com/test/mybatis/mappers</directory>
<includes>
<include>*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
अद्यतन 2 मैं सभी .xml फ़ाइलें के लिए अपने प्रोजेक्ट फ़ोल्डर की खोज और सभी अदृश्य पात्रों को प्रोग्राम के perl -i -pe 's/[^\x20-\x7f\x0A\x09]//g' fileName
का उपयोग कर निकाल दिया है, लेकिन कोई अदृश्य पात्र नहीं थे। यह हेक्स संपादक में मैंने जो देखा वह पुष्टि करता है।
दो प्रश्न ध्यान में आते हैं: त्रुटि के बजाय .java फ़ाइल में त्रुटि क्यों दिख रही है। एक्सएमएल फाइल? ग्रहण के लिए यह केवल एक समस्या क्यों है और मैवेन नहीं है?
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.springframework.ide.eclipse.core.io.xml.XercesDocumentLoader.loadDocument(XercesDocumentLoader.java:48)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$2.loadBeanDefinitions(BeansConfig.java:397)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$3.call(BeansConfig.java:456)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$3.call(BeansConfig.java:1)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
अद्यतन 3 मैं पात्रों के साथ मेरी कार्यक्षेत्र में कुछ ग्रहण रूप से जेनरेट एक्सएमएल फ़ाइलें मिला <?xml
से पहले का उपयोग कर:
ग्रहण लॉग इस संदेश को (जो एक .xml फ़ाइल को इंगित करता है) से पता चलता grep -ERl '^[^=]+<\?xml' .
जो कुछ ग्रहण उपयोगकर्ता prefs को अनदेखा करता है जिसमें फ़ाइल की पंक्तियों में एम्बेडेड xml है। अतिरिक्त पात्रों को हटाने के बाद, समस्या हालांकि बनी रही।
सोचें कि मैं प्रोजेक्ट को पुनरारंभ कर सकता हूं और फ़ाइलों को एक समय में कॉपी कर सकता हूं।
किंडा दूर-दूर तक पहुंचा, लेकिन हो सकता है कि यह विंडोज से यूनिक्स तक लाइन-ब्रेक से संबंधित हो? ऐसा तब हो सकता है जब किसी ने विंडोज़ पर फ़ाइल सहेजी और फिर इसे यूनिक्स पर खोला। आप dos2unix चलाकर इसे ठीक कर सकते हैं। –
क्या आपने जांच की है [प्रोलॉग में ग्रहण सामग्री की अनुमति नहीं है] (http://stackoverflow.com/questions/5445143/eclipse-content-is-not-allowed-in-prolog)? –
@Elliott Frisch मैंने अपना pom.xml – rimsky