LINUX.ORG.RU

Maven require package1 or package2

 


0

1

Имеется maven pom.xml

<?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>org.apache</groupId>
    <artifactId>apache-maven</artifactId>
    <version>3.3.9</version>
    <packaging>rpm</packaging>

    <properties> 
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <rpm.app.path>/var/lib/${project.artifactId}</rpm.app.path>
       <rpm.run.user>root</rpm.run.user>
    </properties>

    <build>

        <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <version>2.8</version>
              <executions>
                <execution>
                  <id>unpack-zip</id>
                  <phase>initialize</phase>
                  <goals>
                    <goal>unpack</goal>
                  </goals>
                  <configuration>
                       <artifactItems>
                         <artifactItem>
                           <groupId>org.apache</groupId>
                           <artifactId>apache-maven</artifactId>
                           <version>${project.version}</version>
                           <type>zip</type>
                           <overWrite>true</overWrite>
                         </artifactItem>
                       </artifactItems>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <overWriteReleases>true</overWriteReleases>
                    <overWriteSnapshots>true</overWriteSnapshots>
                  </configuration>
                </execution>
              </executions>
            </plugin>           

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>rpm-maven-plugin</artifactId>
                <version>2.1.2</version>
                <extensions>true</extensions>
                <configuration>
                    <release>1</release>
                    <license>Apache License 2.0</license>
                    <group>Applications/System</group>
                    <defaultUsername>${rpm.run.user}</defaultUsername>
                    <defaultUsername>${rpm.run.user}</defaultUsername>
                    <defaultGroupname>${rpm.run.user}</defaultGroupname>
                    <defaultFileMode>755</defaultFileMode>
                    <requires>
                        <require>openjdk7</require>
                    </requires>
                    <mappings>
                        <mapping>
                            <directory>${rpm.app.path}</directory>
                            <sources>
                                <source>
                                    <location>${project.build.directory}/${project.build.finalName}</location>
                                </source>
                            </sources>
                        </mapping>
                   </mappings>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Как бы использовать maven, который требовал либо openjdk7 либо openjdk8 либо openjdk11? Спасибо

Не уверен, что делает это rpm плагин, но в общем случае через maven-профили можно сделать разные конфигурации. Или через property, но это менее гибко.

orm-i-auga ★★★★★ ()
Последнее исправление: orm-i-auga (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.