Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 maven2多项目生成中缺少aar文件_Maven 2 - Fatal编程技术网

Maven 2 maven2多项目生成中缺少aar文件

Maven 2 maven2多项目生成中缺少aar文件,maven-2,Maven 2,我正在尝试使用maven2构建axis2项目。我的项目被配置为带有AAR、WAR和EAR模块的父项目。当我运行父项目的包目标时,控制台显示一个成功的构建,并且创建了所有文件。但是,AAR项目生成的AAR文件不包括在生成的WAR项目中。AAR项目被列为WAR项目的附属项目。当我显式地运行WAR的包目标时,AAR文件就会包含在WAR文件中 为什么父级的包目标在运行子级的包目标时不包含必要的依赖项 我正在我的war项目中使用maven war插件v2.1-alpha-2 父POM: <paren

我正在尝试使用maven2构建axis2项目。我的项目被配置为带有AAR、WAR和EAR模块的父项目。当我运行父项目的包目标时,控制台显示一个成功的构建,并且创建了所有文件。但是,AAR项目生成的AAR文件不包括在生成的WAR项目中。AAR项目被列为WAR项目的附属项目。当我显式地运行WAR的包目标时,AAR文件就会包含在WAR文件中

为什么父级的包目标在运行子级的包目标时不包含必要的依赖项

我正在我的war项目中使用maven war插件v2.1-alpha-2

父POM:

<parent>
    <groupId>companyId</groupId>
    <artifactId>build</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.nationwide.nf</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
<modules>
    <module>ws-war</module>
    <module>ws-aar</module>
    <module>ws-ear</module>
</modules>

公司ID
建造
1.0.0-SNAPSHOT
4.0.0
com.nationwide.nf
父母亲
聚甲醛
1.0.0-SNAPSHOT
ws-war
ws-aar
ws-ear
AAR POM:

<parent>
    <artifactId>parent</artifactId>
    <groupId>companyId</groupId>
    <version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>companyId</groupId>
<artifactId>ws-aar</artifactId>
<version>1.0.0-SNAPSHOT</version>
<description/>
<packaging>aar</packaging>
<dependencies>...</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin> 

        <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <version>1.4</version>
            <configuration>...</configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <id>axis2-gen-sources</id>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-aar-maven-plugin</artifactId>
            <version>1.4</version>
            <extensions>true</extensions>
            <configuration>...</configuration>
        </plugin>
    </plugins>
</build>

父母亲
公司ID
1.0.0-SNAPSHOT
4.0.0
公司ID
ws-aar
1.0.0-SNAPSHOT
aar
...
org.apache.maven.plugins
maven编译器插件
1.5
1.5
org.apache.axis2
axis2-wsdl2code-maven-plugin
1.4
...
wsdl2code
axis2发电机源
org.apache.axis2
axis2 aar maven插件
1.4
真的
...
战争POM:

<parent>
    <artifactId>parent</artifactId>
    <groupId>companyId</groupId>
    <version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>companyId</groupId>
<artifactId>ws-war</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<description/>
<dependencies>
    <dependency>
        <groupId>companyId</groupId>
        <artifactId>ws-aar</artifactId>
        <type>aar</type>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
    .
    .
    .
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1-alpha-2</version>
            <configuration>
                <warName>appName</warName>
            </configuration>
        </plugin>
    </plugins>
</build>

父母亲
公司ID
1.0.0-SNAPSHOT
4.0.0
公司ID
ws-war
战争
1.0.0-SNAPSHOT
公司ID
ws-aar
aar
1.0.0-SNAPSHOT
.
.
.
org.apache.maven.plugins
maven战争插件
2.1-α-2
appName
谢谢, Joe

您是否尝试过在依赖项中使用“type”元素?例如:

<dependency>
  <groupId>group-a</groupId>
  <artifactId>artifact-b</artifactId>
  <version>1.0</version>
  <type>aar</type>
</dependency>
  • 就您的问题而言,“安装”与“包”有任何不同的行为吗
  • 您是否在本地maven存储库(~/.m2/repository/com/mycompany/../)中看到了.aar文件

  • 顺便说一句,我对maven war插件从来都不是很满意。我总是使用maven汇编插件。它似乎工作得更好,更稳定。另外,请确保您使用的是最新版本的maven(2.0.9)。我花了半天时间解决了一个类似的问题,这个问题在最新版本中得到了修复。

    我通过向ws-war pom文件中添加以下插件,使maven build正常工作:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.directory}/${project.build.finalName}/WEB-INF/services
                            </outputDirectory>
                            <includeArtifactIds>
                                ws-aar
                            </includeArtifactIds>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    
    
    org.apache.maven.plugins
    maven依赖插件
    进程类
    复制依赖项
    ${project.build.directory}/${project.build.finalName}/WEB-INF/services
    ws-aar
    
    这太糟糕了,你不得不求助于使用依赖插件,但我很高兴你能使用它。我认为这可能是war插件中的一个bug,不过,您可能想在Maven用户组上发布,看看是否有人可以帮助您。
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.directory}/${project.build.finalName}/WEB-INF/services
                            </outputDirectory>
                            <includeArtifactIds>
                                ws-aar
                            </includeArtifactIds>
                        </configuration>
                    </execution>
                </executions>
            </plugin>