2012-03-07 129 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

相關問題