Почему Бакминстер не разрешает мой аргумент JVM?
У меня есть работа Дженкинса, которая использует Бакминстер для создания продукта затмения.
В начале у меня есть "Параметр расширенного выбора", в котором можно выбрать "клиентский" ключ.
В конфигурации Бакминстера я использую эту переменную "customer", чтобы выбрать правильный запрос:
import '$ {WORKSPACE} / source / scodi-customer / ${customer} /server/features/ch.scodi. ${customer}.server.feature / site.cquery'
Поскольку переменная "customer" по умолчанию недоступна в командах, я добавил в "Аргументы JVM" следующее:
-Dcustomer = $ {клиент}
Раньше все это работало хорошо, но теперь я обновил сервер и среду сборки с Java 1.7 32-Bit на Java 1.8 64-Bit. С тех пор я получаю следующую ошибку при попытке построить:
java.io.FileNotFoundException: [путь к заданию]\source\scodi-customer\${customer}\server\features\ch.scodi.${customer}.server.feature\site.cquery (системе не удается найти путь указано)
До того как переменная была разрешена нормально.
Является ли это проблемой бадминстера или java8, не имея возможности разрешить переменную ${customer}? Может быть, есть другой (более чистый) способ передачи переменной в конфигурацию Бакминстера?
Изменить: я провел дополнительное тестирование и добавил следующее к аргументам JVM, я получаю то же исключение, относящееся к отсутствующему ${customer}. Мне кажется, что аргументы JVM игнорируются.
-Dcustomer = КЛИЕНТ
1 ответ
Наконец я нашел обходной путь.
Мне пришлось переименовать мою переменную "customer" в "CUSTOMER", теперь она разрешена в командной области buckminster.
От:
import '$ {WORKSPACE} / source / scodi-customer / $ {customer} /server/features/ch.scodi. $ {customer}.server.feature / site.cquery'
Для того, чтобы:
import '$ {WORKSPACE} / source / scodi-customer / $ {CUSTOMER} /server/features/ch.scodi. $ {CUSTOMER}.server.feature / site.cquery'
Также мои параметры JVM от:
-Dcustomer = $ {клиент}
Для того, чтобы:
-Dcustomer = $ {КЛИЕНТ}
Обнаруженные параметры JVM не имеют отношения к интерфейсу команды buckminster, но используются позже в файлах "cspex".
Запуск Jenkins на компьютере под управлением Windows может вызвать эту проблему...
Таким образом, настоящей проблемой было присвоение имени "Расширенного параметра выбора", а не заглавных букв.