我使用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
无效为该行:
有人可以帮助解决这些错误。
提前感谢。
答案 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)
我想建议一些可能有助于解决您所面临的所有问题的解决方案,或者因为我之前遇到过相同问题的问题。
"超类' 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打开,它应该显示一些积极的结果。
"应用上下文-dao.xml ..."问题。的
如果你有" application-context-dao.xml"文件,这意味着你可能已经运行了mvn appfuse:full-source。根据您的信息,Eclipse IDE可能已针对"声明"报告了xml验证错误。 XSD文件。你可以做一些事情:
" AOP配置的applicationContextService.xml ..."问题。的
您可以应用上一期中建议的相同内容。
"样品-data.xsd ..."问题。的
在您喜欢的文本编辑器中打开相同的文件,选择全部,复制并粘贴,将它们全部替换为Eclipse IDE中的同一文件。
"生命周期配置未涵盖插件执行......"问题。的
只需打包< plugins> ..< / plugins>与< pluginManagement> ...< / pluginManagement>
"令牌上的语法错误' ne',无效的AssignmentOperator ..."问题。的
将它们替换为"!=" (不含引号)。
希望能有所帮助。
答案 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。我刚刚看到你已经解决了这个问题,但它可能对其他人有用:)