добавить в maven зависимость, упакованную как mar - PullRequest
2 голосов
/ 07 марта 2012

У меня есть проект, который использует несколько зависимостей от проекта axis2.один из них, если mex (metada exchange).

последняя версия 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

Я попытался добавить плагин mar, но это не помогло

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

1 Ответ

4 голосов
/ 07 марта 2012

Похоже, что вы не правильно прочитали сообщение об ошибке, потому что оно говорит:

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's.Таким образом, вы должны идти следующим образом:

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