使用maven将Java应用程序部署到Heroku时出错 [英] Error when deploying Java app to Heroku using maven

查看:119
本文介绍了使用maven将Java应用程序部署到Heroku时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个在Eclipse中制作的Java Web应用程序,我使用的是maven。它在本地主机(Apache Tomcat)上工作正常。当我尝试使用本指南我收到以下错误(启用DEBUG)。这似乎非常模糊,因为谷歌发现没有任何东西。

I have a Java web app made in Eclipse and I'm using maven. It works fine on localhost (Apache Tomcat). When I try to deploy to Heroku using this guide I get the following error (DEBUG enabled). It seems very obscure because google finds next to nothing.


[ERROR]无法执行目标
com.heroku.sdk: heroku-maven-plugin:0.1.9:deploy-war(default-cli)on
project tours:无法部署应用程序:有一个异常
调用远程服务:HTTP(403):服务器返回的HTTP响应
代码:403的URL: https://api.heroku。 com / apps / tours / config-vars - >
[帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:
无法执行目标
com.heroku.sdk :heroku-maven-plugin:0.1.9:在
项目导览上的deploy-war(default-cli):无法在
部署应用程序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.execu te(MojoExecutor.java:145)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
at
org.apache。 maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)

org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)

org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)at
org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)at
org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)at
org。 apache.maven.cli.MavenCli.doMain(MavenCli.java:213)at
org.apache.maven.cli.MavenCli.main(MavenCli.java:157)at
sun.reflect.NativeMethodAccessorImpl。 invoke0(Native Method)at
sun.reflect.NativeMethodAccessorImpl.invoke(Unkn自己的源码)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at
java.lang.reflect.Method.invoke(Unknown Source)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)

org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
导致:org.apache.maven.plugin.MojoFailureException:
部署应用程序失败
com.heroku.sdk.maven.DeployWarMojo.execute(DeployWarMojo.java:58)
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)

org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19更多导致:com.heroku.sdk.deploy.Curl $ CurlException:
调用远程服务时出现异常:
com.heroku.sdk.deploy.Curl.handleResponse(Curl.java:94)上的HTTP(403)
com.heroku.sdk .deploy.Curl.get(Curl.java:22)at
com.heroku.sdk.deploy.App.getConfigVars(App.java:139)at
com.heroku.sdk.deploy.App .deploy(App.java:77)at
com.heroku.sdk.deploy.App.deploy(App.java:93)at
com.heroku.sdk.deploy.WarApp.deploy(WarApp .java:38)at
com.heroku.sdk.maven.DeployWarMojo.execute(DeployWarMojo.java:54)...
21更多因素:java.io.IOException:服务器返回HTTP响应
代码:403网址: https://api.heroku.com/apps / tours / config-vars
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(未知
源)在
sun.net.www.protocol.http .HttpURLConnection.getInputStream(未知
源)在
sun.net.www.protocol.https.HttpsURLConnect com.heroku.sdk.deploy.Curl.handleResponse(Curl.java:90)
...另外27个[错误] [错误] [错误]更多有关
错误和可能的解决方案的信息,请阅读以下文章:
[错误] [帮助1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

这里是我的.pom文件,如果这有助于任何东西:

And here is my .pom file if that helps with anything:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>pl.xpam.sp</groupId>
  <artifactId>tours</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>tours Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
     <groupId>com.sun.faces</groupId>
     <artifactId>jsf-api</artifactId>
     <version>2.1.7</version>
  </dependency>
  <dependency>
     <groupId>com.sun.faces</groupId>
     <artifactId>jsf-impl</artifactId>
     <version>2.1.7</version>
  </dependency>
  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.34</version>
  </dependency>
  </dependencies>
  <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.5</source>
            <target>1.5</target>
        </configuration>
    </plugin>
    <plugin>
              <groupId>com.heroku.sdk</groupId>
              <artifactId>heroku-maven-plugin</artifactId>
              <version>0.1.9</version>
              <configuration>
                <appName>tours</appName>
              </configuration>
            </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>


推荐答案

为HEROKU_API_KEY设置Eclipse环境变量在这个答案(但当然不同的键名称)。当您运行heroku auth时,HEROKU_API_KEY的值应该是打印的:令牌

Set an Eclipse environment variable for HEROKU_API_KEY like in this answer (but with a different key name of course). The value of HEROKU_API_KEY should be whatever is printed when you run heroku auth:token

有关文件已经奇迹般地更新了,完整的描述;)

The document in question has been miraculously updated with a complete description of this ;)

这篇关于使用maven将Java应用程序部署到Heroku时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆