【问题标题】:eclipse/maven/sonatype war build works at the command line but not in eclipseeclipse/maven/sonatype 战争构建在命令行中有效,但在 eclipse 中无效
【发布时间】:2011-02-18 17:08:22
【问题描述】:

我的(简单)war 项目在命令行中使用 mvn:package 构建良好,但无法通过 sonatype 插件使用 maven 在 eclipse 中构建。 我得到的错误是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1-alpha-1:war (default-war) on project shoploops_webapp: Execution default-war of goal org.apache.maven.plugins:maven-war-plugin:2.1-alpha-1:war failed: dependenciesInfo : dependenciesInfo
---- Debugging information ----
message             : dependenciesInfo : dependenciesInfo
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : dependenciesInfo : dependenciesInfo
class               : org.apache.maven.plugin.war.util.WebappStructure
required-type       : org.apache.maven.plugin.war.util.WebappStructure
path                : /webapp-structure/dependenciesInfo
line number         : 14

我真的有两个问题 1)我该如何解决这个错误? 2) 为什么 mvn:package 在命令行可以正常工作,但不能通过插件?它们的工作方式有什么不同,以至于会出现这样的错误?

非常感谢!

编辑:在调试模式下运行的堆栈跟踪:

Caused by: com.thoughtworks.xstream.converters.ConversionException: dependenciesInfo : dependenciesInfo
---- Debugging information ----
message             : dependenciesInfo : dependenciesInfo
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : dependenciesInfo : dependenciesInfo
class               : org.apache.maven.plugin.war.util.WebappStructure
required-type       : org.apache.maven.plugin.war.util.WebappStructure
path                : /webapp-structure/dependenciesInfo
line number         : 14
-------------------------------
    at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63)
    at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45)
    at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46)
    at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117)
    at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29)
    at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:846)
    at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:833)
    at com.thoughtworks.xstream.XStream.fromXML(XStream.java:781)
    at org.apache.maven.plugin.war.util.WebappStructureSerializer.fromXml(WebappStructureSerializer.java:48)
    at org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:346)
    at org.apache.maven.plugin.war.AbstractWarMojo.buildExplodedWebapp(AbstractWarMojo.java:317)
    at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:166)
    at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:130)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
    ... 15 more
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: dependenciesInfo : dependenciesInfo
    at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:49)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:76)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:60)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:76)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
    at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:34)
    at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:296)
    at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:178)
    at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:125)
    at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56)
    ... 28 more

【问题讨论】:

  • 谢谢帕斯卡!你又挽救了我的理智!我更新了 eclipse 以使用与从命令行构建时相同版本的 maven,现在它构建完美:-)

标签: java eclipse maven-2 m2eclipse


【解决方案1】:

您需要转到preferences->maven->installation 并选择您的外部安装。我正在使用 springsource 工具套件。但其他 Eclipse 品种中的 maven 配置路径应该是相同的。

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,但我做了一个mvn install。在命令行中工作正常,但在 Eclipse 中失败。

    实际发生的事情显然是我的webapp-cache.xml 文件已损坏。我解决了运行mvn clean install的问题。

    【讨论】:

      【解决方案3】:

      为什么mvn:package 在命令行可以正常工作,但不能通过插件?它们的工作方式有什么不同,以至于会出现这样的错误?

      简短的版本是 m2eclipse 确实使用您在命令行中使用的相同版本,除非您告诉他这样做(这是我的建议)。如果您想知道,m2eclipse 使用嵌入式 Maven 3 (Maven Embedder 3.0.0.200912160759)。

      我该如何解决这个错误?

      实际上,问题记录在http://jira.codehaus.org/browse/MWAR-187,它提供了几种解决方法。

      • 将 maven-war-plugin 降级为 2.1-alpha-1
      • 通过修改 maven-war-plugin 配置来停用缓存

        <configuration>
          <useCache>false</useCache>
        </configuration>
        

      而且我认为将 M2Eclipse 配置为不使用 Maven Embedder(但您在 CLI 上使用的版本)也可以解决问题,这是我的建议。您可以在 Window > Preferences > Maven 中找到此设置。

      【讨论】:

        猜你喜欢
        • 2013-10-14
        • 1970-01-01
        • 1970-01-01
        • 2019-04-19
        • 1970-01-01
        • 2014-03-23
        • 1970-01-01
        • 1970-01-01
        • 2015-12-21
        相关资源
        最近更新 更多