Eclipse中的Spring MVC appfuse应用程序中的错误

时间:2014-03-20 01:17:25

标签: m2eclipse m2e appfuse

我使用Appfuse构建了一个Spring MVC多模块应用程序。通过MVN Jetty运行时运行正常。我能够通过maven很好地构建和运行应用程序。但是当我通过M2E导入Eclipse中的所有模块时,它给了我很多错误,我要复制错误,有人可以帮我解决一下吗?

当我使用Appfuse构建它时,我将我的项目命名为mynewproject。

1)我收到以下错误:

在Java Build Path中找不到超类“javax.servlet.http.HttpServlet”

在基本模块“mynewproject”中的所有JSP文件中。

2)我遇到了application-context-dao.xml

的问题

此行找到多个注释:      - schema_reference.4:无法读取架构文档“http://www.springframework.org/schema/context/spring-      context-3.1.xsd',因为1)找不到文件; 2)文件无法阅读;文档的根元素不是      。      - cvc-complex-type.2.4.c:匹配的通配符是strict,但是没有为元素'context:annotation-config'找到声明。

3)针对AOP配置的applicationContextService.xml中的多个错误以及上面提到的上下文配置错误。

4)Sample-data.xsd包含一些不同语言的内容,它会出错:

prolog中不允许使用内容。

在模块mynewproject-core中,我在pom.xml中有以下错误

生命周期配置未涵盖插件执行:org.codehaus.mojo:dbunit-maven-plugin:1.0-beta-3:操作(执行:测试编译,阶段:测试编译)

最后在mynewproject-web中出现错误:

令牌“ne”上的语法错误,AssignmentOperator

无效

为该行:

有人可以帮助解决这些错误。

提前感谢。

4 个答案:

答案 0 :(得分:0)

  

4)Sample-data.xsd包含一些不同语言的内容,并给出了   错误:

     

prolog中不允许使用内容。

我不确定您是否已解决问题,对于此错误,您可以在github上打开文件并将内容复制到本地文件中。网址为https://github.com/appfuse/appfuse/blob/34dc1599636e15ab9e0372d67542321e25f1896c/web/common/src/test/resources/sample-data.xsd。我也在尝试修复其他错误。对于这个,

  

生命周期配置未涵盖插件执行:   org.codehaus.mojo:dbunit-maven-plugin:1.0-beta-3:操作(执行:   test-compile,phase:test-compile)

我通过右键单击作为Eclipse中的快速修复选择“Mark ignore”来修复它,这对我来说现在很有用。

  

令牌“ne”上的语法错误,AssignmentOperator

无效

对于这个,我将它修改为另一个字符串,然后使用Maven更新项目,并且它已修复。

一旦我找到其他问题的解决方案,我会更新这个答案。

希望有所帮助。

答案 1 :(得分:0)

对于第一个错误,右键单击项目,单击“属性”。从Target Runtime中选择适当的应用程序服务器(Tomcat,vFabric,Glassfish等)。

答案 2 :(得分:0)

我想建议一些可能有助于解决您所面临的所有问题的解决方案,或者因为我之前遇到过相同问题的问题。

  1. "超类' javax.servlet.http.HttpServlet'在Java Build Path中找不到..."问题。
    既然你说你在eclipse IDE中使用了m2e插件,并且web pom已经将java.servlet列为依赖项,那么在执行mvn jetty:run时你应该在本地repo中使用lib。否则,在这种情况下,我建议您为Web项目执行maven更新。只需右键单击项目根目录,然后选择Maven-> Update Project。确保你有Project-> Build Automatically打开,它应该显示一些积极的结果。

  2. "应用上下文-dao.xml ..."问题。
    如果你有" application-context-dao.xml"文件,这意味着你可能已经运行了mvn appfuse:full-source。根据您的信息,Eclipse IDE可能已针对"声明"报告了xml验证错误。 XSD文件。你可以做一些事情:

    • 确保您的互联网连接良好,以便验证过程可以引用XSD。
    • 确保 xsi:schemaLocation 中指向的所有模式都可访问且有效。
    • 如果以上所有都是好的,请确保xml条目正确且格式正确。然后,您可能希望通过右键单击文档编辑区域并选择"验证"来尝试手动验证。

  3. " AOP配置的applicationContextService.xml ..."问题。
    您可以应用上一期中建议的相同内容。

  4. "样品-data.xsd ..."问题。
    在您喜欢的文本编辑器中打开相同的文件,选择全部,复制并粘贴,将它们全部替换为Eclipse IDE中的同一文件。

  5. "生命周期配置未涵盖插件执行......"问题。
    只需打包< plugins> ..< / plugins>与< pluginManagement> ...< / pluginManagement>

  6. "令牌上的语法错误' ne',无效的AssignmentOperator ..."问题。
    将它们替换为"!=" (不含引号)。

  7. 希望能有所帮助。

答案 3 :(得分:0)

答案中只有几个:

<强> 4 即可。 Sample-data.xsd包含内容......

这似乎是Eclipse的错误。如果在某个文本编辑器(而不是Eclipse)中打开它,并将编码值从utf-a6更改为utf-8,就可以为它制作“解决方法”,如下所示:

<?xml version="1.0" encoding="utf-8"?>

<强> 6 即可。 令牌“ne”...

上的语法错误

Eclipse也有问题,它不是AppFuse的bug。只是尝试使用另一个等效的!= 更改“ne”运算符,如下所示:

<c:if test="${pageContext.request.locale.language != 'en'}">

P.S。我刚刚看到你已经解决了这个问题,但它可能对其他人有用:)