【问题标题】:Heroku webapp-runner --enable-namingHeroku webapp-runner --enable-naming
【发布时间】:2017-03-13 16:49:20
【问题描述】:

我一直面临着一项艰巨的任务:部署一个 spring 项目(使用 JNDI)。

现在问题与 webapp-runner 选项“启用命名”有关。 我的数据源由 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

提前致谢。

【问题讨论】:

    标签: java maven heroku embedded-tomcat-7 webapp-runner


    【解决方案1】:

    我收到了来自 heroku 支持 codefinger 的类似回复

    为了以后的通知,我已经添加了

    <webappRunnerVersion>8.0.33.1</webappRunnerVersion>
    

    到 pom.xml 文件中的 heroku-maven-plugin。

    所以 heroku-maven-plugin 现在是:

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

    【讨论】:

      【解决方案2】:

      此选项是在 webapp-runner 8.0.33.1 中添加的,但在撰写本文时,Heroku CLI WAR deployment pluginHeroku Maven plugin 默认为 webapp-runner 的 8.0.30.2 版本。

      您可以为 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。

      【讨论】:

        猜你喜欢
        • 2013-04-25
        • 2017-07-10
        • 1970-01-01
        • 2017-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-10
        相关资源
        最近更新 更多