вытащить переменную из артефакта - PullRequest
0 голосов
/ 30 ноября 2018

Я настраиваю pom для вывода списка военных файлов из репозитория Nexus, у меня это работает, но чтобы упростить процесс обновления, я хотел сослаться на внутренние переменные.например, вот artifactItem для одной из наших войн:

            <artifactItem>
              <groupId>com.example</groupId>
              <artifactId>AwesomeService</artifactId>
              <version>1.0.0-SNAPSHOT</version>
              <type>war</type>
              <destFileName>${artifactItem.artifactId}##${artifactItem.version}.war</destFileName>
            </artifactItem>

это сборка файла, но не захватывает artifactID или версию, если я просто использую preject.version, она работает нормально, но собирается40 странных сервисов, которые мне нужно будет построить, используя это, и для каждого из них потребуется уникальное имя.Я могу создать новое свойство для каждой службы, но тогда мне нужно будет настроить версию и свойство имени для каждой службы.

Кто-нибудь еще получил эту работу?

вот полный чемодан, если это поможет пролить свет:

<?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>groupId</groupId>
<artifactId>artifactid</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>projectName</name>

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.5.1</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>2.3</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>copy</goal>
          </goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>com.example</groupId>
                <artifactId>AwesomeService</artifactId>
                <version>1.0.0-SNAPSHOT</version>
                <type>war</type>
     <destFileName>${artifactItem.artifactId}##${artifactItem.version}.war</destFileName>
              </artifactItem>
            </artifactItems>
            <outputDirectory>${project.build.directory}</outputDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

1 Ответ

0 голосов
/ 30 ноября 2018

попробуйте

    <properties>
       <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
    </properties>

    <profiles>
        <profile>

            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
                <spring.classpath>dev</spring.classpath> 
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>online</id>
            <properties>
                <profiles.active>online</profiles.active>
                <spring.classpath>online</spring.classpath>
            </properties>
        </profile>
    </profiles>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...