Форман не может найти $ JAVA_OPTS

У меня возникла ошибка после следующего урока от Heroku специально по этой части

[https://devcenter.heroku.com/articles/getting-started-with-java#run-the-app-locallyvisible[1].

Если я выполню эту инструкцию, мастер выдаст следующую ошибку:

Ошибка: не удается найти класс Java $ JAVA_OPTS

Я уже объявил такую ​​переменную env:

Name variable : JAVA_OPTS

Variable value: -Xms256m -Xmx512m

Файл Proc, который пытается выполнить бригадир, имеет следующее:

web:    java $JAVA_OPTS -cp target/classes:target/dependency/* Main

Я понятия не имею о том, что происходит.

Примечание: я уже проверил некоторые другие вопросы

Запуск java с переменной env JAVA_OPTS

Foreman немедленно завершает работу

бригадир не может найти Java

Надеюсь, кто-то знает, что происходит.

РЕДАКТИРОВАТЬ: я ответил на свой вопрос ниже


person Misael P    schedule 07.09.2014    source источник


Ответы (3)


Я подозреваю, что вы работаете в Windows. Если это так, вам нужно будет ссылаться на переменную JAVA_OPTS, например, %JAVA_OPTS%. Но Heroku по-прежнему будет нуждаться в стиле * nix ($JAVA_OPTS), поэтому я рекомендую создать Procfile.win рядом с вашим Procfile со следующим содержимым:

web: java %JAVA_OPTS% -cp target/classes:target/dependency/* Main

Затем запустите это, чтобы запустить приложение локально:

$ foreman start --procfile=Procfile.win
person codefinger    schedule 08.09.2014
comment
Это очень помогло мне найти правильное решение, для записи я добавлю новый ответ, но отмечу его как действительный. - person Misael P; 09.09.2014

Вот что я сделал для решения проблемы:

Похоже, что в документации на сайте heroku неясно, какую операционную систему вы используете. Но потом я нашел ответ по ссылке ниже:

Heroku Разверните свое приложение Java локально

Исходный скрипт файла Proc выглядел так:

web: java $JAVA_OPTS -cp target/classes:target/dependency/* Main

и я изменил его, как вы можете видеть ниже:

web: java %JAVA_OPTS% -cp target\classes;"target\dependency\*"  Main

Как указано в документации Heroku.

Это решило проблему, и я смог запустить свое приложение локально.

person Misael P    schedule 09.09.2014
comment
Эта точка с запятой очень важна в Windows! Это заслуживает правильного ответа на этот вопрос. - person Matthew Cachia; 01.10.2014

Если вы используете 'nix, export JAVA_OPTS перед запуском ожидающего его сценария.

person Travis Well    schedule 07.09.2014
comment
Простите, у вас есть ссылка или справочник, как это сделать? Кстати, я использую Windows 7. - person Misael P; 08.09.2014