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

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

新規登録して質問してみよう
ただいま回答率
85.37%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

1338閲覧

HerokuへデプロイしたSpringBoot Webアプリの起動の失敗

Peanuts888

総合スコア6

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/07/10 16:47

編集2021/07/11 08:46

SpringBootにて日記投稿サイトを作り、それをHerokuへデプロイすることには成功したのですが
起動に失敗しました。
postgresqlのドライバのロードに失敗しているようなのですが、解決法がわかりません。

情報が不足しているようでしたら追加しますのでよろしくお願いします。

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

2021-07-10T16:06:07.388965+00:00 app[web.1]: 2021-07-10T16:06:07.388966+00:00 app[web.1]: *************************** 2021-07-10T16:06:07.388966+00:00 app[web.1]: APPLICATION FAILED TO START 2021-07-10T16:06:07.388967+00:00 app[web.1]: *************************** 2021-07-10T16:06:07.388967+00:00 app[web.1]: 2021-07-10T16:06:07.388967+00:00 app[web.1]: Description: 2021-07-10T16:06:07.388968+00:00 app[web.1]: 2021-07-10T16:06:07.388971+00:00 app[web.1]: Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource: 2021-07-10T16:06:07.388971+00:00 app[web.1]: 2021-07-10T16:06:07.388972+00:00 app[web.1]: Property: driver-class-name 2021-07-10T16:06:07.388972+00:00 app[web.1]: Value: org.postgresql.Driver 2021-07-10T16:06:07.388976+00:00 app[web.1]: Origin: "driverClassName" from property source "source" 2021-07-10T16:06:07.388977+00:00 app[web.1]: Reason: Failed to load driver class org.postgresql.Driver in either of HikariConfig class loader or Thread context classloader 2021-07-10T16:06:07.388978+00:00 app[web.1]: 2021-07-10T16:06:07.388978+00:00 app[web.1]: Action: 2021-07-10T16:06:07.388978+00:00 app[web.1]: 2021-07-10T16:06:07.388979+00:00 app[web.1]: Update your application's configuration 2021-07-10T16:06:07.388979+00:00 app[web.1]: 2021-07-10T16:06:07.476088+00:00 heroku[web.1]: Process exited with status 1 2021-07-10T16:06:07.547805+00:00 heroku[web.1]: State changed from starting to crashed

pom.xml

省略 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>startbootstrap-sb-admin-2</artifactId> <version>4.1.3</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator</artifactId> <version>0.40</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> 省略

試したこと

こちらをpomに追加してみたところ、
Overriding managed version 42.2.19 for postgresql
と注意されてしまいました。

2021/07/11 回答をもとに解決済み

<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.4-1206-jdbc42</version> </dependency>

補足情報

os:windows 10

関連ファイル
application.properties

spring.datasource.url=${JDBC_DATABASE_URL} spring.datasource.username=${JDBC_DATABASE_USERNAME} spring.datasource.password=${JDBC_DATABASE_PASSWORD} spring.jpa.database=POSTGRESQL spring.jpa.hibernate.ddl-auto=update # MYSQL ローカル環境はこれで動いてました。 #spring.datasource.driver-class-name=com.mysql.jdbc.Driver #spring.datasource.url=jdbc:mysql://localhost/user_master?useSSL=false&useUnicode=true&characterEncoding=utf8 #spring.datasource.username=sample_user #spring.datasource.password=sample_pass #spring.jpa.database=MYSQL #spring.jpa.hibernate.ddl-auto=update #spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect #spring.jpa.show-sql=true #spring.jpa.properties.hibernate.format_sql=true

Procfile

web: java -jar target/portfolio-0.0.1-SNAPSHOT.jar -Dserver.port=$PORT

system.properties

java.runtime.version=11

追加情報 2021/07/11

回答を参考にこちらをpom.xmlに追加したところエラーが変わりました!

<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency>

pom変更後エラー
テーブル作成時にエラーが起きているようです。
これはEntityクラスを修正してテーブルの自動生成動作を変更するべきなのでしょうか?

2021/07/11 解決済み
userテーブルがPSQLの予約語だったことと、その中のカラムにBLOB型を使用していたため起こったエラーでした。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/10 21:51

pomに追加された<version>を省略してもダメですか?
m.ts10806

2021/07/10 21:51

ただ、Overriding managedということから、既にインポートされてる感じがあるんですよね。pom以外で何かで連携してますか?
Peanuts888

2021/07/11 05:03

バージョンの部分を<scope>runtime</scope>にしたら解決いたしました。 spring-boot-dependencies-2.4.5.pom.pomというファイルでデフォルト設定がしてあるようです。
guest

回答1

0

ベストアンサー

Spring Bootは(内部の)対応バージョンが決まっているので、以下の追加をお試しください。

xml

1<dependency> 2 <groupId>org.postgresql</groupId> 3 <artifactId>postgresql</artifactId> 4 <scope>runtime</scope> 5</dependency>

投稿2021/07/11 02:38

KT001

総合スコア643

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Peanuts888

2021/07/11 04:58

回答ありがとうございます。 試してみたところエラー内容が変わりました。 今度はテーブル作成時にエラーが発生しているようです。 新しいエラーを追記したのでもしよろしければそちらも見ていただければと思います。
KT001

2021/07/11 06:03

モデル(@Entity)は、どのような定義をしているでしょうか? Postgresqlだとuserが予約語なので、@Table("users")などと変える必要があるかと思います。 また、header_imageとiconの定義内容が気になっています。
Peanuts888

2021/07/11 06:15 編集

すみません!! その後調べてuserが予約語であるのと、iconとheader_imageがMIDIUM BLOBだったのでそれが原因だとわかりました! user -> users, MIDIUM BLOB -> BYTEAに変更したところ、また別のエラーが... 調べて解決しなかったらまた追記させていただきます><
KT001

2021/07/11 06:14

もし、BLOBを使いたいのであれば、モデルの定義は以下になるので、ご参考までに記載します。 @Lob @Type(type="org.hibernate.type.BinaryType") private byte[] icon;
Peanuts888

2021/07/11 08:48

回答ありがとうございました。 エラー内容が違ったものになってきたので、いったんここで区切ろうと思います。 今起こったいるエラーに関しては新しく質問させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問