Heroku веб-приложение-бегун --enable-naming
Передо мной стояла сложная задача: развертывание весеннего проекта (с использованием JNDI).
В настоящее время проблема связана с опцией webapp-runner "enable-naming". Мои источники данных объявлены jndi - используя tomcar context.xml. Когда я передаю webapp-runner указанную опцию, я получаю следующее сообщение:
Exception in thread "main" com.beust.jcommander.ParameterException:
**Unknown option: --enable-naming**
at com.beust.jcommander.JCommander.parseValues(JCommander.java:723)
at com.beust.jcommander.JCommander.parse(JCommander.java:275)
at com.beust.jcommander.JCommander.parse(JCommander.java:258)
at com.beust.jcommander.JCommander.(JCommander.java:203)
at webapp.runner.launch.Main.main(Main.java:74)
Я копал код webapp-runner и увидел это условие:
if (commandLineParams.enableNaming ||
commandLineParams.enableBasicAuth ||
commandLineParams.tomcatUsersLocation != null) {
tomcat.enableNaming();
}
Итак, я попробовал с опцией --enable-basic-auth, и мое приложение работает нормально... Проблема в том, что я не хочу basic-auth на моем сайте.
Я использую maven heroku-maven-plugin и в качестве WEBAPP_RUNNER_OPTS: --context-xml tomcat-heroku-server-conf/context.xml --enable-naming
Заранее спасибо.
2 ответа
Эта опция была добавлена в webapp-runner 8.0.33.1, но на момент написания этой статьи плагин развертывания Heroku CLI WAR и плагин Heroku Maven по умолчанию имели версию 8.0.30.2 webapp-runner.
Вы можете установить версию для CLI следующим образом:
$ heroku deploy:war --webapp-runner 8.0.33.3 path/to/app.war
Или как это для Maven:
$ mvn heroku:deploy-war -Dheroku.webappRunnerVersion=8.0.33.3
Я поддерживаю webapp-runner и эти плагины, и я скоро обновлю их для использования 8.0.33.3.
Я получил аналогичный ответ от поддержки герою codefinger
Для дальнейшего уведомления я добавил
<webappRunnerVersion>8.0.33.1</webappRunnerVersion>
к heroku-maven-plugin в файле pom.xml.
Итак, Heroku-Maven-плагин теперь:
<plugin>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<includes>
<include>tomcat-heroku-server-conf/</include>
</includes>
<jdkVersion>1.8</jdkVersion>
<configVars>
<CATALINA_OPTS>-XX:MaxPermSize=512M -Xmx1024M -Ddatabase.url=** -Ddatabase.user=** -Ddatabase.password=** -Ddatabase.driver=com.mysql.jdbc.Driver</CATALINA_OPTS>
<JAVA_OPTS></JAVA_OPTS>
</configVars>
<webappRunnerVersion>8.0.33.1</webappRunnerVersion>
<warFile>admin/target/admin.war</warFile>
</configuration>