4

私の (単純な) 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

本当に 2 つの質問があります。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
4

3 に答える 3

4

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>
    

また、Maven Embedder (ただし、CLI で使用するバージョン) を使用しないように M2Eclipse を構成すると、問題も解決すると思います。これが私の提案です。この設定は Window > Preferences > Mavenにあります。

于 2010-05-12T16:48:12.923 に答える
2

私はこれと同じ問題を抱えていますが、mvn install. コマンドラインでは問題なく動作しましたが、Eclipse からは失敗しました。

実際に起こったことは、どうやら私のwebapp-cache.xmlファイルが破損していたということでした。実行中の問題を解決しましたmvn clean install

于 2010-06-25T11:33:14.510 に答える
1

preferences->maven->installation外部インストールに移動して選択する必要があります。私はspringsourceツールスイートを使用しています。ただし、Maven構成パスは他の日食の種類でも同じである必要があります。

于 2010-06-25T03:31:37.630 に答える