2016-10-31 1 views
0

J'ai été confronté à une tâche difficile: déployer un projet de printemps (en utilisant JNDI).Heroku webapp-runner --enable-naming

À l'heure actuelle, le problème est lié à l'option webapp-runner "enable-naming". Mes sources de données sont déclarées par jndi - en utilisant tomcar context.xml. Quand je nourris webapp-coureur avec l'option visée je reçois ce message:

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) 

J'ai fouillé le code webapp-coureur et a vu cette condition:

if (commandLineParams.enableNaming || 
commandLineParams.enableBasicAuth || 
commandLineParams.tomcatUsersLocation != null) { 
tomcat.enableNaming(); 
} 

J'ai donc essayé avec l'option --enable-basic-auth et mon application fonctionne très bien ... Le problème est que je ne veux pas basic-auth sur mon site.

J'utilise maven heroku-maven-plugin, et comme WEBAPP_RUNNER_OPTS: --context-xml tomcat-heroku-server-conf/context.xml --enable-nommant

Merci à l'avance.

Répondre

1

Cette option a été ajoutée dans webapp-runner 8.0.33.1, mais au moment de la rédaction de ce document, le Heroku CLI WAR deployment plugin et le Heroku Maven plugin par défaut à la version 8.0.30.2 de webapp-runner.

Vous pouvez définir la version comme celui-ci pour la CLI:

$ heroku deploy:war --webapp-runner 8.0.33.3 path/to/app.war 

Ou comme celui-ci pour Maven:

$ mvn heroku:deploy-war -Dheroku.webappRunnerVersion=8.0.33.3 

Je maintiens webapp-runner et les plug-ins, et je vais les mettre à jour pour utiliser 8.0.33.3 sous peu.

0

J'ai reçu une réponse similaire de soutien heroku codefinger

Pour l'avenir avis j'ai ajouté

<webappRunnerVersion>8.0.33.1</webappRunnerVersion> 

au heroku-maven-plugin dans le fichier pom.xml.

Ainsi, le heroku-maven-plugin est maintenant:

<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>