2015-11-10 2 views
0

Я запускаю свои тесты в Jenkins на сервере, используя проект Maven.Установить пользовательское местоположение java в Jenkins

путь по умолчанию для Java на сервере /USR/Библиотека/JVM/Java-OpenJDK/бен/Java

Вместо этого, я хотел бы использовать Java 1.8 в моих тестах, и он находится в:

/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Как я могу установить это в Дженкинс свойств или в файле POM так Maven будет использовать Java 1.8 вместо дефолта один?

Я попытался установить свойство String JAVA_HOME или установить путь к jdk 8 в MAVEN_OPTS, но он по-прежнему использует java.

+1

в нарастании среды ваш проект вы можете установить JAVA_HOME в свою версию по вашему выбору. –

ответ

2

Другое решение объявить установку JDK8 от конфигурации мастер-сервера Jenkins:

enter image description here

И дальше, используйте этот JDK8 конфигурации в вашей Дженкинс работы:

enter image description here

Вы можете сделать то же самое на экране конфигурации узла:

enter image description here

+0

Извините за мое непонимание. Но я не могу найти эти настройки в конфигурации моего узла. И даже «Выполнять параллельные сборки при необходимости» фраза отсутствует. Некоторая проблема с разрешением? – BohdanN

+0

Я добавил скриншот для конфигурации узла. Пожалуйста, подтвердите, что решает ваш pb :) –

+0

да, это помогло установить пользовательское местоположение в java, спасибо! – BohdanN

1
  1. pom.xml: Профиль

    <build> 
        <plugins> 
         <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-compiler-plugin</artifactId> 
         <configuration> 
          <verbose>true</verbose> 
          <fork>true</fork> 
          <executable>${jdk}/bin/javac</executable> 
          <compilerVersion>1.5</compilerVersion> 
         </configuration> 
         </plugin> 
         <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <configuration> 
          <jvm>${jdk}/bin/java</jvm> 
          <forkMode>once</forkMode> 
         </configuration> 
         </plugin> 
        </plugins> 
        </build> 
    
        <profiles> 
         <profile> 
         <id>default_jdk</id> 
         <activation> 
          <activeByDefault>true</activeByDefault> 
         </activation> 
         <properties> 
          <jdk>${env.JAVA_HOME}</jdk> 
         </properties> 
        </profile> 
        <profile> 
         <id>jdk8</id> 
         <activation> 
          <activeByDefault>false</activeByDefault> 
         </activation> 
         <properties> 
          <jdk>/usr/lib/jvm/jre-1.8.0-openjdk.x86_64</jdk> 
         </properties> 
        </profile>  
        </profiles> 
    
  2. Активировать jdk8:

    mvn clean install -Pjdk8 
    
+0

Я пробовал ваше решение, но, похоже, Дженкинс запускает VM перед установкой Maven. Это то, что я вижу на консоли: '[selenium] $/usr/lib/jvm/java-openjdk/bin/java -Xmx1024m -XX: MaxPermSize = 786M -Dgwt.compiler.localWorkers = 1 -XshowSettings: vm Настройки виртуальной машины: Макс. Heap Размер: 1,00 г Эргономика машина Класс: Сервер Использования VM: OpenJDK 64-разрядный сервер VM' И затем: 'Выполнение Maven: -B -f/вар/Библиотека/Jenkins/рабочее пространство/TWO033-селен -tests-forked-repository/test/selenium/pom.xml -Pjdk8' – BohdanN

Смежные вопросы