【问题标题】:Failed to deploy to Heroku using Maven: Forbidden使用 Maven 部署到 Heroku 失败:禁止
【发布时间】:2015-11-18 08:18:23
【问题描述】:

我正在尝试使用 Heroku Maven 插件将一个依赖于 Heroku 的 jar 部署到 Heroku。我收到此错误消息:

[ERROR] Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.4.4:deploy (default-cli) on project my-app: Failed to deploy application: Forbidden -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.heroku.sdk:heroku-maven-plugin:0.4.4:deploy (default-cli) on project my-app: Failed to deploy application
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: Failed to deploy application
        at com.heroku.sdk.maven.DeployMojo.execute(DeployMojo.java:51)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        ... 19 more
Caused by: org.apache.http.client.HttpResponseException: Forbidden
        at com.heroku.sdk.deploy.utils.RestClient.handleResponse(RestClient.java:136)
        at com.heroku.sdk.deploy.utils.RestClient.get(RestClient.java:30)
        at com.heroku.sdk.deploy.ConfigVars.getConfigVars(ConfigVars.java:41)
        at com.heroku.sdk.deploy.ConfigVars.merge(ConfigVars.java:24)
        at com.heroku.sdk.deploy.Deployer.mergeConfigVars(Deployer.java:103)
        at com.heroku.sdk.deploy.Deployer.deploy(Deployer.java:67)
        at com.heroku.sdk.deploy.App.deploy(App.java:57)
        at com.heroku.sdk.deploy.App.deploy(App.java:61)
        at com.heroku.sdk.maven.DeployMojo.execute(DeployMojo.java:47)
        ... 21 more

我不知道如何解决。究竟什么是禁止的? 这是我的 POM:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.heroku.sdk</groupId>
            <artifactId>heroku-maven-plugin</artifactId>
            <version>0.4.4</version>
            <configuration>
                <jdkVersion>1.8</jdkVersion>
                <appName>my-app</appName>
                <processTypes>
                    <web>web: java -jar ./target/my-app-1.0-jar-with-dependencies.jar</web>
                </processTypes>
            </configuration>
        </plugin>
    </plugins>
</build>

我的头撞墙了半个小时了。任何帮助将不胜感激。

编辑:我正在使用 heroku:deploy

【问题讨论】:

  • 你正在运行什么命令(即mvn heroku:deploy)?您是否有权部署到“我的应用程序”?确保您已经创建了一个 Heroku 应用程序(在 dashboard.heroku.com 上)并且您在 pom.xml 中配置了该名称。
  • 我正在使用 heroku:deploy,是的。我如何检查我是否有权限(为什么我没有?)。我现在注意到我在 heroku-dashboard 上的应用程序与我的 pom 中的名称不匹配,heroku-dashboard 名称是由于某种原因自动生成的。
  • 谢谢,这就像修复 appName 参数一样简单 :)

标签: java maven heroku jar


【解决方案1】:

重复 cmets,以便将其标记为已回答。问题是pom.xml中的appName

<appName>my-app</appName>

这应该设置为您的 Heroku 应用程序的名称。

【讨论】:

    猜你喜欢
    • 2015-07-02
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2013-04-08
    相关资源
    最近更新 更多