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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

2945閲覧

Spring spring-data-jpaの追加が失敗する。

kamiyu

総合スコア10

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

1クリップ

投稿2018/08/03 14:59

前提・実現したいこと

連日の投稿、失礼します。
Springの勉強のためSTSを使用してサンプルプログラムを作成しています。
http://tech.pjin.jp/blog/2016/05/31/springframework7/
を参考にしながら第6回まではほぼ手順通りに進めることができました。

pom.xmlにspring-data-jpaを追加するとサーバー起動に失敗します。
発生するのは主に404エラーなので追加したタグの読み込み自体は成功している気がするのですが、どうしても原因が特定できない状況です。

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

HTTPステータス 404 - Not Found Type ステータスレポート メッセージ /HelloWorld 説明 The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

該当のソースコード

xml

1<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/xsd/maven-4.0.0.xsd"> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>org.springframework.samples.service.service</groupId> 4 <artifactId>HelloWorld</artifactId> 5 <version>0.0.1-SNAPSHOT</version> 6 <packaging>war</packaging> 7 8 <properties> 9 10 <!-- Generic properties --> 11 <java.version>1.6</java.version> 12 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 13 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 14 15 <!-- Web --> 16 <jsp.version>2.2</jsp.version> 17 <jstl.version>1.2</jstl.version> 18 <servlet.version>2.5</servlet.version> 19 20 21 <!-- Spring --> 22 <!-- <spring-framework.version>3.2.3.RELEASE</spring-framework.version> --> 23 <spring-framework.version>3.2.3.RELEASE</spring-framework.version> 24 25 <!-- Hibernate / JPA --> 26 <!-- サイトのバージョンだと起動しなかったため、最新版であろうバージョンを記載 --> 27 <!--<hibernate.version>4.2.1.Final</hibernate.version>--> 28 <hibernate.version>5.3.4.Final</hibernate.version> 29 30 <!-- Logging --> 31 <logback.version>1.0.13</logback.version> 32 <slf4j.version>1.7.5</slf4j.version> 33 34 <!-- Test --> 35 <junit.version>4.11</junit.version> 36 37 </properties> 38 39 <dependencies> 40 41 <!-- Spring MVC --> 42 <dependency> 43 <groupId>org.springframework</groupId> 44 <artifactId>spring-webmvc</artifactId> 45 <version>${spring-framework.version}</version> 46 </dependency> 47 48 <!-- Other Web dependencies --> 49 <dependency> 50 <groupId>javax.servlet</groupId> 51 <artifactId>jstl</artifactId> 52 <version>${jstl.version}</version> 53 </dependency> 54 <dependency> 55 <groupId>javax.servlet</groupId> 56 <artifactId>servlet-api</artifactId> 57 <version>${servlet.version}</version> 58 <scope>provided</scope> 59 </dependency> 60 <dependency> 61 <groupId>javax.servlet.jsp</groupId> 62 <artifactId>jsp-api</artifactId> 63 <version>${jsp.version}</version> 64 <scope>provided</scope> 65 </dependency> 66 67 <!-- Spring and Transactions --> 68 <dependency> 69 <groupId>org.springframework</groupId> 70 <artifactId>spring-tx</artifactId> 71 <version>${spring-framework.version}</version> 72 </dependency> 73 74 <!-- Logging with SLF4J & LogBack --> 75 <dependency> 76 <groupId>org.slf4j</groupId> 77 <artifactId>slf4j-api</artifactId> 78 <version>${slf4j.version}</version> 79 <scope>compile</scope> 80 </dependency> 81 <dependency> 82 <groupId>ch.qos.logback</groupId> 83 <artifactId>logback-classic</artifactId> 84 <version>${logback.version}</version> 85 <scope>runtime</scope> 86 </dependency> 87 88 <!-- Hibernate --> 89 <dependency> 90 <groupId>org.hibernate</groupId> 91 <artifactId>hibernate-entitymanager</artifactId> 92 <version>${hibernate.version}</version> 93 </dependency> 94 95 <!-- Test Artifacts --> 96 <dependency> 97 <groupId>org.springframework</groupId> 98 <artifactId>spring-test</artifactId> 99 <version>${spring-framework.version}</version> 100 <scope>test</scope> 101 </dependency> 102 <dependency> 103 <groupId>junit</groupId> 104 <artifactId>junit</artifactId> 105 <version>${junit.version}</version> 106 <scope>test</scope> 107 </dependency> 108 109 <!-- Validation --> 110 <!-- サイトのバージョンだと起動しなかったため、最新版であろうバージョンを記載 --> 111 <dependency> 112 <groupId>javax.validation</groupId> 113 <artifactId>validation-api</artifactId> 114 <version>2.0.1.Final</version> 115 </dependency> 116 <dependency> 117 <groupId>org.hibernate</groupId> 118 <artifactId>hibernate-validator</artifactId> 119 <version>5.3.4.Final</version> 120 </dependency> 121 122 <!-- SpringのJDBCドライバ --> 123 <!-- 4.2.5.RELEASE⇒とりあえずこのタグだけ追加なら起動 --> 124 <!-- 5.0.7.RELEASE⇒とりあえずこのタグだけ追加なら起動 --> 125 <!-- 5.0.8.RELEASE⇒とりあえずこのタグだけ追加なら起動 --> 126 <dependency> 127 <groupId>org.springframework</groupId> 128 <artifactId>spring-jdbc</artifactId> 129 <version>5.0.8.RELEASE</version> 130 </dependency> 131 132 <!-- 1.8.1.RELEASE⇒500エラー --> 133 <!-- 1.10.11.RELEASE⇒404エラー --> 134 <!-- 1.11.14.RELEASE⇒500エラー --> 135 <!-- 2.0.8.RELEASE⇒500エラー --> 136 <!-- 2.0.9.RELEASE⇒404エラー --> 137 <dependency> 138 <groupId>org.springframework.data</groupId> 139 <artifactId>spring-data-jpa</artifactId> 140 <version>2.0.9.RELEASE</version> 141 </dependency> 142 143 <!-- db connection --> 144 <dependency> 145 <groupId>commons-dbcp</groupId> 146 <artifactId>commons-dbcp</artifactId> 147 <version>1.4</version> 148 </dependency> 149 <dependency> 150 <groupId>mysql</groupId> 151 <artifactId>mysql-connector-java</artifactId> 152 <version>5.1.38</version> 153 </dependency> 154 155 </dependencies> 156</project> 157

試したこと

<1>spring-data-jpaの複数バージョン確認
以下の複数種類のバージョンを試しました。
1.8.1.RELEASE⇒500エラー
1.10.11.RELEASE⇒404エラー
1.11.14.RELEASE⇒500エラー
2.0.8.RELEASE⇒500エラー
2.0.9.RELEASE⇒404エラー

<2>Spring本体の複数バージョン確認(spring-data-jpaは2.0.9.RELEASEを使用)
<properties>以下の<spring-framework.version>を以下の複数種類のバージョンを試しました。
3.2.3.RELEASE⇒404エラー
3.2.18.RELEASE⇒404エラー
4.3.18.RELEASE⇒404エラー
5.0.7.RELEASE⇒404エラー

<3>spring-jdbcの複数バージョン確認(spring-data-jpaは2.0.9.RELEASEを使用)
以下の複数種類のバージョンを試しました。
4.2.5.RELEASE⇒404エラー
5.0.7.RELEASE⇒404エラー
5.0.8.RELEASE⇒404エラー

spring-data-jpa本体、もしくは連携する別のタグとの相性を疑って調査してきました。
しかしどれも空振りで、次にどこを疑えばいいか分からない状況です。
原因が分かる、または調査を進めるための方針が思い浮かぶ方いましたら、教えてください。

よろしくお願いします。

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

Spring Tool Suite

Version: 3.9.4.RELEASE

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

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

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

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

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

guest

回答1

0

ベストアンサー

Spring Frameworkの学習が目的ということですが、利用しようとしているバージョンが3.2.3.RELEASEとだいぶ古いようですが大丈夫でしょうか? (最新は5.0.8です。)
また利用しようとしてるHibernate ORMに最新のバージョンを指定していますが、利用するにはJava 1.8以上が必要です。
うまくいかない直接の原因は断言できませんが、Javaや利用するフレームワーク、ライブラリのバージョンの指定に問題があるように思います。

ここからは提案になりますが、特に学習の制約がないのであれば(つまり、Spring Framework 3.2.3を学びたいというわけでなければ)、最初はSpring Bootで学習するのはどうでしょうか?
Spring Bootについては別途調べて頂くとして、Spring Bootを利用したプロジェクトのひな型は簡単に生成できます。

Spring NITIALIZR
https://start.spring.io/

こちらのサイトで、必要な依存関係を指定して"Generate Project"ボタンを押せば、ひな型をzipファイルでダウンロードできます。

依存関係に図のように"Web"、"JPA"、"MySQL"、"Thymeleaf"を指定すればWebアプリケーションのひな型になります。

イメージ説明

あとはダウンロードしたzipファイルを展開し、それをEclipseからインポートすれば開発がすすめられると思います。(もしかするとpom.xmlを少し修正する必要があるかもしれません。)

投稿2018/08/03 15:53

rubytomato

総合スコア1752

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

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

kamiyu

2018/08/04 01:57

回答ありがとうございます。 ご指摘の通り、Spring Frameworkのバージョンが古いのは気になる点ではありました。なるべくサイトの手順からズレたくないという理由で選択しただけなので大きな制約ではありません。Hibernate ORMは別の機能作成時のトラブル解決のため最新を選択しました。ちなみにJavaは10を使用しています。 Spring Bootについてはこのタイミングで初めて知りました。少し調べてみたところ、今まで作ってきた環境を破棄する必要なくDB接続部分の練習を学習できるかもしれないので、当面の問題はいったん保留としSpring Bootの使い方を少し勉強してみようと思います。
rubytomato

2018/08/05 07:18

Java 10をお使いとのことですが、pom.xmlでは1.6が指定されているのでmavenでのコンパイルはバージョン1.6相当で行われていると思います。 また、最近はJava 9以上に対応しているライブラリ、フレームワーク、ツールがそろってきていますが、最初はJava 1.8を選んでおいた方が環境構築しやすいと個人的に考えています。
退会済みユーザー

退会済みユーザー

2018/08/05 08:56

参考にしてるサイトは確認してないが STS でスプリングレガシー(boot じゃない)でプロジェクトを作成すると Java は 1.5 もしくは 1.6 の設定になるはず。 これは Spring 3 の対応似合わしてるもの
kamiyu

2018/08/06 06:11

rubytomato様、asahina1979様、追加の回答ありがとうございます。 Spring Bootを調べる一方でもう少し試行錯誤してみたところ、直面していた問題は解決できました。 以下の組み合わせで起動を確認しました。 Spring Framework:5.0.8.RELEASE spring-data-jpa:2.0.8.RELEASE ちなみに、以下の組み合わせは404エラーでした。 Spring Framework:5.0.8.RELEASE spring-data-jpa:2.0.9.RELEASE Javaのpom.xml上での指定については完全に失念しておりました。 起動を確認できた上記の組み合わせにおいてはJava1.6と1.8両方を試しましたが、共に起動しました。 当初の問題は解消することができましたので、この質問はクローズとさせていただきます。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問