【发布时间】:2017-09-18 14:13:25
【问题描述】:
我在 Windows 10 上运行 IntelliJ Idea 2017,我正在开发一个 springboot 项目,当我尝试运行简单的测试用例时出现以下错误。
Caused by: org.xml.sax.SAXParseException; systemId: file:..../src/test/java/com/hero/project/controller/MainControllerTest.java; 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.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:281)
... 6 more
这是它抱怨的测试用例
package com.hero.project.controller;
import org.junit.Before;
import org.junit.Test;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
public class MainControllerTest {
private MockMvc mockMvc;
private MainController homeController;
@Before
public void setUp() throws Exception {
homeController = new MainController();
mockMvc = MockMvcBuilders.standaloneSetup(homeController).build();
}
@Test
public void index() throws Exception {
mockMvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(view().name("index"));
}
}
这是 MainController 类。
package com.hero.project.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Calendar;
@Controller
public class MainController {
@RequestMapping("/")
public String index(Model model){
int year = Calendar.getInstance().get(Calendar.YEAR);
model.addAttribute("year",year);
return "index";
}
}
注意:在 Mac 上使用相同版本的 Intellij Idea 2017 的相同代码可以正常工作。我很难调试这个问题。我将不胜感激。谢谢你
【问题讨论】:
-
不,不是我尝试了相同的解决方案,但没有奏效,似乎是 Intellij 2017 的问题。我从头开始使用 Intellij Idea 创建了这个项目
-
我正在使用 IntelliJ 2017 并且没有遇到此类问题。我认为这是你的代码。
-
关于您的问题的两个 SO 问题。我建议你在这里搜索一下,看看还有谁遇到了你的问题。
标签: java spring spring-mvc intellij-idea