Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven编译Spring Petclinic项目时出错_Java_Eclipse_Spring_Maven - Fatal编程技术网

Java Maven编译Spring Petclinic项目时出错

Java Maven编译Spring Petclinic项目时出错,java,eclipse,spring,maven,Java,Eclipse,Spring,Maven,我从下载了SpringPetClinic项目 Eclipse编译工作得很好——我可以从Tomcat运行该项目。但是,在maven编译中,使用相同的JDK jdk1.6.045时出现错误: org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder 必需:java.lang.Object。完全错误如下所示: @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration

我从下载了SpringPetClinic项目

Eclipse编译工作得很好——我可以从Tomcat运行该项目。但是,在maven编译中,使用相同的JDK jdk1.6.045时出现错误:

org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder 必需:java.lang.Object。完全错误如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("VisitsViewTests-config.xml")
@ActiveProfiles("jdbc")
public class VisitsViewTests {

@Autowired
private WebApplicationContext webApplicationContext;

private MockMvc mockMvc;

@Before
public void setup() {
    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext).build();
}

@Test
public void getVisitsXml() throws Exception {
    ResultActions actions =    this.mockMvc.perform(get("/vets.xml").accept(MediaType.APPLICATION_XML));
    actions.andDo(print()); // action is logged into the console
    actions.andExpect(status().isOk());
    actions.andExpect(content().contentType("application/xml"));
    actions.andExpect(xpath("/vets/vetList[id=1]  /firstName").string(containsString("James")));
}
}
[错误]编译错误:[信息] -------------------------------------------------------------[错误]/spring-petclinic/src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests.java:[58,58] \spring petclinic\src\test\java\org\springframework\samples\petclinic\web\VisitsViewTests.java:58:

不相容类型;推断的类型参数java.lang.Object不存在 符合找到的类型变量B的界限: org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder 必需:java.lang.Object

使用调试输出运行时,一开始出现以下错误:

SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”

SLF4J:默认为无操作(NOP)记录器实现

SLF4J:有关详细信息,请参阅 进一步详情

VisitsViewTests的代码如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("VisitsViewTests-config.xml")
@ActiveProfiles("jdbc")
public class VisitsViewTests {

@Autowired
private WebApplicationContext webApplicationContext;

private MockMvc mockMvc;

@Before
public void setup() {
    this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext).build();
}

@Test
public void getVisitsXml() throws Exception {
    ResultActions actions =    this.mockMvc.perform(get("/vets.xml").accept(MediaType.APPLICATION_XML));
    actions.andDo(print()); // action is logged into the console
    actions.andExpect(status().isOk());
    actions.andExpect(content().contentType("application/xml"));
    actions.andExpect(xpath("/vets/vetList[id=1]  /firstName").string(containsString("James")));
}
}

根据评论,我在pom.xml中更改了Spring版本,指向4.0.1。而不是4.0.0

<spring-framework.version>4.0.1.RELEASE</spring-framework.version>
4.0.1.0版本

这是一个奇怪的错误。您是否尝试过在调试输出打开的情况下运行(
-X
)?结果如何?请看更正后的自我描述,一切正常。你能发布日志吗?可能是重复的