質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.78%

Heroku GitHub連携でデプロイしたときのエラーを解決したいです

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 404

score 6

前提・実現したいこと

GiuhubとHerokuを連携し、heroku上でDeployBranchボタンを押すとエラーが出てしまうのですが、なんとかデプロイしたいです。はじめてのHerokuでネット上にあるデプロイ方法に沿って進めています。アドバイスいただけたら幸いです。よろしくお願いいたします。
ここに質問の内容を詳しく書いてください。

発生している問題・エラーメッセージ

全文を載せてしまうと文字超過してしまうため、エラー表示箇所を抜粋させていただきました。

-----> Java app detected
-----> Installing JDK 1.8... done
-----> Installing Maven 3.6.2... done
-----> Executing Maven
       $ mvn -DskipTests clean dependency:list install
       [INFO] Scanning for projects...
       [INFO] Downloading from central: 
       [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project Plus: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
       [ERROR] 
       [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
       [ERROR] Re-run Maven using the -X switch to enable full debug logging.
       [ERROR] 
       [ERROR] For more information about the errors and possible solutions, please read the following articles:
       [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
 !     ERROR: Failed to build app with Maven
       We're sorry this build is failing! If you can't find the issue in application code,
       please submit a ticket so we can help: https://help.heroku.com/
 !     Push rejected, failed to compile Java app.
 !     Push failed

該当のソースコード

pom.xml

<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>mvnapptest</groupId>
  <artifactId>mvnapptest</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mvnapptest 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>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>


  </dependencies>
  <build>
    <finalName>mvnapptest</finalName>
  </build>
  <properties>
      <java.version>1.8</java.version>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
</project>

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals><goal>copy</goal></goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>com.github.ichinosee</groupId>
                            <artifactId>webapp-runner</artifactId>
                            <version>9.0.13.0</version>
                            <destFileName>webapp-runner.jar</destFileName>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
    </plugin>

試したこと

エラーがほとんど同じだったので、こちらのサイトを参考にさせていただきました。
ここで出るエラー解決はなんとかクリアしたはずなのですが、、、
https://qiita.com/ShandyGaffLover/items/0dad6ebf48d649aab761#fn1

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

エラーメッセージを見た限りでは、Herokuに依存するものではなさそうです。

maven-war-pluginの設定不備か、またはWebアプリケーションのデプロイメント・ディスクリプタ(web.xml)未定義によるものです。

maven-war-pluginを使うときは、以下のいずれかを行います。

  • Webアプリケーション内の WEB-INFに正しいweb.xmlを配置する
  • maven-war-pluginにて、web.xmlがない時にエラーとしない

2番目の方法については、例えば以下の記述をpom.xmlに行います。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

余談ですが、maven-war-pluginの2系の最新版は2.6です。2.2は少し古いようです。

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/09/07 01:09

    アドバイスありがとうございます。pom.xmlは作成済みでしたが、web.xmlを作成していませんでした。eclipsのmavenで作ったファイルをgiuhubにインポートしてデプロイしたいと考えているのですが、web.xmlは上記にコードをコピーしてデプロイするということでしょうか?
    pom.xmlはネットの情報を頼りに作成しました、、
    よろしくお願いいたします。

    キャンセル

  • 2020/09/07 08:56

    回答には、web.xml を書いていません。
    pom.xmlで、web.xmlの存在チェックが不要になる記述例を書いています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る