実現したいこと。前提。
HerokuでMavenプロジェクトのWebプログラムを表示したいと思っています。
デプロイはできています。ブラウザから公開URLを入れて画面を表示しようとするとそれは出ずにプログラムにエラーが起こったとのエラーメッセージの画面が出て、ログにwebapp-runnerが見当たらないとの指摘がでるのです。Procfileはweb: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.warです。
発生している問題・エラーメッセージ
エラーメッセージ 画面上:Application Error An error occured in the application and your page could not be served. If you are the application owner,check your logs for detail. Heroku CLI で heroku logs --tail命令によりみたログより(最初の付近に): Error:unable to access jarfile target/dependency/webapp^runner.jar Process exited with Status 1. 、
該当のソースコード
jsp
1<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2<%@ page import="java.util.Date"%> 3<%@ page import="java.text.SimpleDateFormat" %> 4<!DOCTYPE html> 5<html> 6<head> 7<meta charset="UTF-8"> 8<title>商品ピッキング作業メニュー</title> 9<link href="css/index.css" rel="stylesheet" type="text/css"> 10</head> 11<body> 12<% SimpleDateFormat f = new SimpleDateFormat("yyyy/M/d"); %> 13<% Date now =new Date(); %> 14<p align="right"><%= f.format(now) %></p> 15<h1 align="center">商品ピッキング作業メニュー</h1> 16<p align="center">選んでください</p> 17<div align="center"> 18<nav> 19 <ul> 20 <li><a href="util0106/PickUp?action=1"> 送付先別配送商品リスト発行</a></li> 21 <li><a href="util0106/PickUp?action=2"> 商品別送付先数量一覧</a></li> 22 </ul> 23</nav> 24</div> 25</body> 26</html>
xml
1<?xml version="1.0" encoding="UTF-8"?> 2 3<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>Koike</groupId> 8 <artifactId>util0106</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>war</packaging> 11 12 <name>util Maven Webapp</name> 13 <!-- FIXME change it to the project's website --> 14 <url>http://www.example.com</url> 15 16 <properties> 17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <java.version>1.8</java.version> 19 <maven.compiler.source>1.8</maven.compiler.source> 20 <maven.compiler.target>1.8</maven.compiler.target> 21 </properties> 22 23 <dependencies> 24 <dependency> 25 <groupId>junit</groupId> 26 <artifactId>junit</artifactId> 27 <version>4.11</version> 28 <scope>test</scope> 29 </dependency> 30 <dependency> 31 <groupId>javax.servlet</groupId> 32 <artifactId>javax.servlet-api</artifactId> 33 <version>4.0.1</version> 34 <scope>provided</scope> 35 </dependency> 36 <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql --> 37 <dependency> 38 <groupId>org.postgresql</groupId> 39 <artifactId>postgresql</artifactId> 40 <version>42.2.19</version> 41 </dependency> 42 43 </dependencies> 44 45 <build> 46 <finalName>util</finalName> 47 <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> 48 <plugins> 49 <plugin> 50 <artifactId>maven-clean-plugin</artifactId> 51 <version>3.1.0</version> 52 </plugin> 53 <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> 54 <plugin> 55 <artifactId>maven-resources-plugin</artifactId> 56 <version>3.0.2</version> 57 </plugin> 58 <plugin> 59 <artifactId>maven-compiler-plugin</artifactId> 60 <version>3.8.0</version> 61 </plugin> 62 <plugin> 63 <artifactId>maven-surefire-plugin</artifactId> 64 <version>2.22.1</version> 65 </plugin> 66 <plugin> 67 <artifactId>maven-war-plugin</artifactId> 68 <version>3.2.2</version> 69 </plugin> 70 <plugin> 71 <artifactId>maven-install-plugin</artifactId> 72 <version>2.5.2</version> 73 </plugin> 74 <plugin> 75 <artifactId>maven-deploy-plugin</artifactId> 76 <version>2.8.2</version> 77 </plugin> 78 <plugin> 79 <groupId>org.apache.maven.plugins</groupId> 80 <artifactId>maven-dependency-plugin</artifactId> 81 <executions> 82 <execution> 83 <phase>package</phase> 84 <goals><goal>copy</goal></goals> 85 <configuration> 86 <artifactItems> 87 <artifactItem> 88 <groupId>com.heroku</groupId> 89 <artifactId>webapp-runner</artifactId> 90 <version>8.5.56</version> 91 <destFileName>webapp-runner.jar</destFileName> 92 </artifactItem> 93 </artifactItems> 94 </configuration> 95 </execution> 96 </executions> 97 </plugin> 98 </plugins> 99 </pluginManagement> 100 </build> 101</project> 102
試したこと
pom.xmlを確認すると、webapp-runnerのpluginで一つのタグにつづりの間違いがあって訂正しました。これで解決かと、ネットで引いた類例に従い、git Bashからプログラムに対して次の命令を入れました。
mvn clean compile
mvn package
heroku local web
このプロジェクトをまたデプロイし、ブラウザから開いて目的の画面が出ると思いきや、さっきと同じApplication Errorの画面とwebapp-runnerにアクセスできないとのログが出るのみでした。おかしいと思われるところを直したのにそれが反映されていないように思えます。webapp-runnerがMavenのセントラルリポジトリからダウンロードされないのでしょうか。私にはわかりません。どうか解決法を御教示ください。
補足情報(FW/ツールのバージョンなど)
OS:Windos10
エディター:Eclipse
あなたの回答
tips
プレビュー