Maven 包括儿童在内的现场组装

Maven 包括儿童在内的现场组装,maven,maven-3,maven-assembly-plugin,Maven,Maven 3,Maven Assembly Plugin,部署团队要求我们将maven站点打包为war,并将其发布到Archiva存储库中 我们的第一个问题,如何组装战争,与儿童网站内 我试过这个,但不起作用生成的war不包括子站点。 我研究maven文档、google、stackoverflow等。。我什么也没发现 项目结构文件夹: . ├── child-yyyy-1 │   ├── pom.xml │   └── src │   ├── main │   │   └── java │   │   └── com │

部署团队要求我们将maven站点打包为war,并将其发布到Archiva存储库中

我们的第一个问题,如何组装战争,与儿童网站内

我试过这个,但不起作用生成的war不包括子站点。 我研究maven文档、google、stackoverflow等。。我什么也没发现

项目结构文件夹:

.
├── child-yyyy-1
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       │       └── com
│       │           └── xxx
│       │               └── App.java
│       └── test
│           └── java
├── child-yyyy-2
│   ├── pom.xml
│   └── src
│       ├── main
│       │   └── java
│       │       └── com
│       │           └── xxx
│       │               └── App.java
│       └── test
│           └── java
└── parent-site
    ├── assembly
    │   └── api-site.xml
    └── pom.xml
父pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xxx</groupId>
  <artifactId>parent-yyyy</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>parent-yyyy</name>

  <modules>
    <module>../child-yyyy-1</module>
    <module>../child-yyyy-2</module>
  </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>assembly/api-site.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
com.xxx
父yyyy
1.0-快照
聚甲醛
父yyyy
../child-yyy-1
../child-yyy-2
org.apache.maven.plugins
maven汇编插件
assembly/api-site.xml
包裹
单一的
api-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=" http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
    <id>api-site</id>
    <formats>
        <format>war</format>
    </formats>
    <baseDirectory>/</baseDirectory>
    <fileSets>
        <fileSet>
            <outputDirectory>/</outputDirectory>
            <directory>target/site</directory>
        </fileSet>
        <fileSet>
            <outputDirectory>/child-yyyy-1/</outputDirectory>
            <directory>child-yyyy-1/target/site</directory>
        </fileSet>
        <fileSet>
            <outputDirectory>/child-yyyy-2/</outputDirectory>
            <directory>child-yyyy-2/target/site</directory>
        </fileSet>
    </fileSets>
</assembly>

api站点
战争
/
/
目标/地点
/child-yyy-1/
child-yyy-1/目标/站点
/child-yyy-2/
child-yyy-2/目标/站点
儿童1 pom:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.xxx</groupId>
    <artifactId>parent-yyyy</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../site</relativePath>
  </parent>
  <groupId>com.xxx</groupId>
  <artifactId>child-yyyy-1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>child-yyyy-1</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>

4.0.0
com.xxx
父yyyy
1.0-快照
../site
com.xxx
child-yyy-1
1.0-快照
child-yyy-1
UTF-8
儿童2 pom:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.xxx</groupId>
    <artifactId>parent-yyyy</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../site</relativePath>
  </parent>
  <groupId>com.xxx</groupId>
  <artifactId>child-yyyy-2</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>child-yyyy-2</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>

4.0.0
com.xxx
父yyyy
1.0-快照
../site
com.xxx
child-yyy-2
1.0-快照
child-yyy-2
UTF-8

首先,您的项目结构不正确,这意味着您的父文件夹位于子文件夹中……最好是这样的父文件夹

  +-- parent (pom.xml)
       +--- child1 (pom.xml)
       +--- child2 (pom.xml)
       ....
这将简化您的父级,您不需要为模块指定
。/
,并且在子级中,您不需要在父级中指定relativePath元素

除此之外,在父级中定义maven assembly插件是没有意义的,因为将首先执行父级,这意味着此时您还没有生成站点

默认的解决方案是创建一个单独的子对象

  +-- parent (pom.xml)
       +--- child1 (pom.xml)
       +--- child2 (pom.xml)
       +--- site-child (pom.xml)
按照您所做的定义maven assembly插件,并且非常重要定义您希望包含的站点的子站点的依赖项

根据以上所有内容,通过使用以下方法生成站点:

mvn site
这意味着您处于站点生命周期中,这意味着您需要在站点生命周期中打包war,而不是在默认生命周期操作系统中。您需要通过以下方式更改maven assembly插件的配置:


org.apache.maven.plugins
maven汇编插件
assembly/api-site.xml
包裹
单一的
对下列事项:


org.apache.maven.plugins
maven汇编插件
assembly/api-site.xml
网站
单一的
在此之后,您应该能够通过以下方式创建:

mvn site

某人-1。为什么是-1?请发表评论。