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>

Другие вопросы по тегам