MAC OS Maven: не распознает экспортированные переменные среды - PullRequest
0 голосов
/ 08 мая 2018

Я хочу построить проект maven, используя скрипт оболочки. Рассмотрим сценарий

В моем проекте у меня есть тест, такой как

public class MyTest{

  @Before
  public void setUp() {
   String libPath = System.getenv("LIBRARY_PATH");
    if (libPath == null || libPath.isEmpty()) {
      logger.error(
          "LIBRARY_PATH not found. Please set this env variable to denote the location of the binaries that need to be loaded");
      throw new IllegalArgumentException(
          "LIBRARY_PATH not found. Please set this env variable to denote the location of the binaries that need to be loaded");
    }
    logger.info("LIBRARY_PATH found. All the binaries will be loaded from here {}", libPath);
}
/*Some tests that depend on LIBRARY_PATH being set*/
} 

Теперь у меня есть сценарий оболочки build_project, который выполняет следующие действия:

#!/bin/bash -e

if [ -z $1 ] ; then
    echo "Must provide LIBRARY_PATH"
    exit 1
fi

source setup_work.sh $1

mvn clean install

а вот setup_work.sh скрипт

#!/bin/bash -e

export LIBRARY_PATH=$PWD/$1
echo "LIBRARY_PATH is ${LIBRARY_PATH}"
# some other setup tasks specific to my project

наконец, все, что я делаю, это запускаю

build_project.sh /some/path/

и он прекрасно работает на Linux / Ubuntu

однако, он не работает в MAC OS. Я вижу

LIBRARY_PATH is workingDir/some/path/
/*
lots of maven messages
.
.
.
*/
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running my.project.package.MyTest
[ERROR] LIBRARY_PATH not found. Please set this env variable to denote the location of the binaries that need to be loaded
IllegalArgumentException

Проблема кроется в maven или MAC OS? Почему я не могу экспортировать переменную env из сценария оболочки?

Наконец, обратите внимание, что если я добавлю следующее в мой bash_profile

export LIBRARY_PATH=some/path/i/need

тогда это работает на MAC OS. Это приводит меня к мысли, что проблема заключается в MAC OS.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...