0

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

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

1)我得到以下错误:

在 Java 构建路径中找不到超类“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:匹配通配符是严格的,但找不到元素“context:annotation-config”的声明。

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

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

序言中不能有内容。

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

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

最后在 mynewproject-web 中有一个错误:

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

对于该行:

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

提前致谢。

4

4 回答 4

0

只是几个答案:

4 . Sample-data.xsd 有内容...

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

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

6 . 标记“ne”的语法错误...

Eclipse 也有问题,它不是 AppFuse 错误。只需尝试将 'ne' 运算符更改为另一个等价的!=,如下所示:

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

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

于 2014-10-06T17:43:47.597 回答
0

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

序言中不能有内容。

我不确定您是否解决了问题,对于此错误,您可以在 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:operation(执行:测试编译,阶段:测试编译)

我通过右键单击作为 Eclipse 中的快速修复选择“标记忽略”来修复它,这对我现在有效。

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

对于这个,我将它修改为另一个字符串,然后使用 Maven 更新项目,它是固定的。

一旦找到其他问题的解决方案,我将更新此答案。

希望有帮助。

于 2014-03-27T12:20:07.297 回答
0

我想提出一些解决方案,可能有助于解决您面临的所有问题或任何人,因为我以前遇到过同样的问题。

  1. “在 Java 构建路径中找不到超类 'javax.servlet.http.HttpServlet'...”问题。
    由于您说在 Eclipse IDE 中使用 m2e 插件,并且 web pom 已经将 java.servlet 列为依赖项,因此在执行 mvn jetty:run 时,您应该在本地存储库中拥有该库。否则,在这种情况下,我建议您对 web 项目执行 maven 更新。只需右键单击项目根目录并选择 Maven->Update Project。确保你有 Project->Build Automatically 打开,它应该显示一些积极的结果。

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

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

  3. “用于 AOP 配置的 applicationContextService.xml ...”问题。
    您可以应用与上一期建议相同的方法。

  4. “Sample-data.xsd ...”问题。
    在您最喜欢的文本编辑器中打开同一个文件,全选、复制并粘贴,将它们全部替换到 Eclipse IDE 中的同一个文件中。

  5. “生命周期配置未涵盖插件执行...”问题。
    只需用 <pluginManagement>...</pluginManagement> 包装 <plugins>..</plugins>

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

希望对某人有所帮助。

于 2014-06-28T08:53:01.500 回答
0

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

于 2014-05-14T21:00:11.413 回答