системная переменная maven и зависимость от операционной системы - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть файл 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.example</groupId>
    <artifactId>xxx</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.2</version>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>1.3.2</version>
                    </dependency>
                    <dependency>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter-engine</artifactId>
                        <version>5.5.2</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                    <systemPropertyVariables>                            <application.properties>/application.properties</application.properties>
                        <web.a>${settings.localRepository}</web.a>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Я использую две операционные системы и разные IDEA: Первый экземпляр:

Ubuntu 18.04
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
javac 1.8.0_232
IntellijIDEA community edition 2019.3.3

Второй экземпляр:

VirtualBox Windows 7
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
javac 1.8.0_231
Eclipse IDEA for Enterprise Java Developers 2019-09 R (4.13.0)

Файл pom. xml имеет системные переменные свойства:

<web.a>${settings.localRepository}</web.a>

Я использую код в проекте:

@Test
    public void properties()
    {
        Properties props = System.getProperties();

        for(Map.Entry prop :props.entrySet())
        {
            System.out.println(prop.getKey()+" "+prop.getValue());
        }
    }

при развертывании и запуске сборки в первом случае, переменная загружается в jvm, но в той же сборке во втором случае загрузка не происходит.

кто может сказать: в чем причина?

...