0

私は次のMavenpom.xmlを持っています

<?xml version="1.0"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc.def.ghi</groupId>
<artifactId>core-with-releases</artifactId>
<version>1</version>
<properties>
<yum-repo>/var/www/html/core-repo</yum-repo>
</properties>
<organization>
<name>ABC DEF GHI</name>
</organization>
<dependencyManagement>
<dependencies>
  <dependency>
    <groupId>com.aaa.bbb.ccc.ddd</groupId>
    <artifactId>core</artifactId>
    <version>1.1.3</version>
    <type>rpm</type>
  </dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
   <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
      <execution>
        <id>create-directory</id>
        <phase>process-resources</phase>
        <goals>
          <goal>exec</goal>
        </goals>
        <configuration>
          <executable>mkdir</executable>
          <arguments>
            <argument>${yum-repo}${dependencies["com.aaa.bbb.ccc.ddd:core"].version}</argument>
          </arguments>
        </configuration>
      </execution>
    </executions>
  </plugin>
 </plugins>
 </build>
 </project>

コマンドラインから実行します

mvn clean process-resources

結果として、1.1.3であるdependencyManagement要素からのアーティファクトのバージョンで終わる名前でディレクトリを作成したいと思います。

誰かがそれを手伝ってくれる?ありがとう。

4

1 に答える 1

1

このような目的でプロパティを使用することをお勧めします。

<properties>
  <yum-repo>/var/www/html/core-repo</yum-repo>
  <dep.groupId>com.aaa.bbb.ccc.ddd</dep.groupId>
  <dep.artifactId>core</dep.artifactId>
  <dep.version>1.1.3</dep.version>
</properties>
<organization>
<name>ABC DEF GHI</name>
</organization>
<dependencyManagement>
<dependencies>
  <dependency>
    <groupId>${dep.groupId}</groupId>
    <artifactId>${dep.artifactId}</artifactId>
    <version>${dep.version}</version>
    <type>rpm</type>
  </dependency>
</dependencies>
  ...
        <configuration>
          <executable>mkdir</executable>
          <arguments>
            <argument>${yum-repo}${dep.version}</argument>
          </arguments>
        </configuration>
      </execution>
    </executions>
  ...

dependencyManagement で依存関係を定義することにより、依存関係が現在のプロジェクトへの依存関係としてバインドされないことに注意してください。

于 2012-05-03T08:08:09.057 に答える