2012-03-07 130 views
2

我有一个项目,它使用axis2项目中的多个依赖项。其中一个如果mex(metada交换)。添加到maven依赖项打包为mar

mex的最后一个版本被封装为mar文件。如果我尝试添加这种依赖关系到我的项目Maven会失败:

<dependency> 
     <groupId>org.apache.axis2</groupId> 
     <artifactId>mex</artifactId> 
     <version>1.6.1</version> 
     <packaging>mar</packaging> 

    </dependency> 

org.apache.maven.reactor.MavenExecutionException: Parse error reading POM. Reason: Unrecognised tag: 'packaging' (position: START_TAG seen ...</version>\n\t\t\t<packaging>... @229:15) for project unknown at /project/pom.xml 
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:616) 
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: org.apache.maven.project.InvalidProjectModelException: Parse error reading POM. Reason: Unrecognised tag: 'packaging' (position: START_TAG seen ...</version>\n\t\t\t<packaging>... @229:15) for project unknown at /project/pom.xml 
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1610) 
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1571) 
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506) 
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) 
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604) 
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487) 
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391) 
... 12 more 
Caused by: org.codehaus.plexus.util.xml.pull.XmlPullParserException: Unrecognised tag: 'packaging' (position: START_TAG seen ...</version>\n\t\t\t<packaging>... @229:15) 
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseDependency(MavenXpp3Reader.java:1225) 
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.parseModel(MavenXpp3Reader.java:2095) 
at org.apache.maven.model.io.xpp3.MavenXpp3Reader.read(MavenXpp3Reader.java:3913) 
at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1606) 
... 18 more 

我尝试添加的插件损坏,但它没有帮助

<plugin> 
      <groupId>org.apache.axis2</groupId> 
      <artifactId>axis2-mar-maven-plugin</artifactId> 
      <extensions>true</extensions> 
      <configuration> 
       <includeDependencies>false</includeDependencies> 
      </configuration> 
     </plugin> 
+0

作品对我来说... – Nishant 2012-03-07 10:40:47

回答

4

它看起来像你没看过的错误消息正确的原因,它说:

Parse error reading POM. Reason: Unrecognised tag: 'packaging' (position: START_TAG seen ...</version>\n\t\t\t<packaging>... @229:15) for project unknown at /project/pom.xml 

这意味着你必须使用:

<dependency> 
    <groupId>org.apache.axis2</groupId> 
    <artifactId>mex</artifactId> 
    <version>1.6.1</version> 
    <type>mar</type> 
</dependency> 

改为。

更新:问题是那些mar伪影被打包为jar。所以,你必须去通过以下方式:

<dependency> 
    <groupId>org.apache.axis2</groupId> 
    <artifactId>mex</artifactId> 
    <version>1.6.1</version> 
</dependency> 
+0

我读的消息,我只是觉得我需要一些额外的配置包装到指定的依赖作为位置 – santiagozky 2012-03-07 15:35:47

+0

难以接受“ mar类型“不能解决我的项目的问题。 – 2014-12-24 07:50:56

+0

@khmarbaise:你的原始答案是正确的,但你的编辑不正确。 – 2015-11-24 22:05:26

相关问题