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

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

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

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Spring Boot

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

Q&A

解決済

2回答

12461閲覧

eclipse(STS)からgithubよりインポートして動作確認がしたい

sanezane

総合スコア91

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Spring Boot

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

0グッド

0クリップ

投稿2018/11/26 16:50

編集2018/11/27 17:35

spring bootの勉強をしています。
一部の方には大変お世話になっております。

やりたいこと

eclipse(STS)からgithubよりインポートして動作確認がしたい

ECサイトハンズオン
上記githubよりeclipseにてインポートしました。

インポート手順...ファイル→インポート→Git→Gitからプロジェクト→クローンURI→(URIを入力)→次へ→次へ→ディレクトリを指定し次へ→一般的なプロジェクトしてインポート(次へ)→完了

インポートはうまくできたようなのですが、src以下に適当なパッケージを作成しようとした際に以下のようなエラーが出てパッケージが作成できません。

「 "ソースフォルダはJavaプロジェクトではありません"」

※インポート時点ではエラーは出ていない。

Javaプロジェクトへ変換しようと考えた

やったこと

1.プロジェクトを右クリック→プロパティ→プロジェクトファセットにてJavaにチェックを入れて適用
⇒パッケージは作成できるようになったが、以下画面のようにエラーが出てしまう。

イメージ説明

JavaプロジェクトじゃなくてMavenプロジェクトへ変換してみようと考えた

2.mvn eclipse:eclipseコマンドにてmavenプロジェクトへ変換?
以下のリンクの3つ目の回答を参考にコマンド実行
Eclipseの "ソースフォルダはJavaプロジェクトではありません"エラー
⇒パッケージは作成できるようになったが、以下画面のようにエラーが出てしまう。

3.1にてJavaプロジェクトへ変換したものをMavenプロジェクトへ変換(プロジェクトを右クリック→構成)
⇒エラー画面変わらず

技術的な要素の薄い質問で大変恐縮ですが、「変換する方法が違う」、や「インポートの仕方が違う」などご意見がありましたら大変うれしく思います。宜しくお願い致します。

自分のローカル環境
■apache-maven-3.6.0
■jdk1.8.0_172
■sts-4.0.1.RELEASE

■追加情報
・Maven依存関係キャプチャ
イメージ説明

・ch01ブランチの実行構成キャプチャ
イメージ説明

・ch06実行時のエラー(ch01のプロジェクト名が入っているため指定するプロジェクトが違うと推測。しかし、それを変える方法がわからない)

[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.3.RELEASE:run (default-cli) on project jsug-shop: An exception occurred while running. null: InvocationTargetException: Error creating bean with name 'enableRedisKeyspaceNotificationsInitializer' defined in class path resource [org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool: java.net.ConnectException: Connection refused: connect -> [Help 1]

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

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

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

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

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

guest

回答2

0

ベストアンサー

貼付して頂いたスクリーンショットから推測できるのは、Mavenプロジェクトへの変換に失敗していて、プロジェクトに必要な依存ライブラリ(Spring Bootなど)が解決できていないという点です。
GitHubからプロジェクトのインポートまでの手順に問題はないように思いますが、その後の作業でなにか必要な操作が抜けてしまったのかもしれません。

なので、下記に私が行った作業の内容を提示致しますので、ご自身が行われた作業内容と照らし合わせてみてください。
どうしてもエラーが解決できない場合で、且つインポートのしなおしが可能な場合は、いったんインポートしたプロジェクトを削除して(Windows上に出来ているファイルやディレクトリも削除)、再度インポートして下記の作業を行ってみてください。

なお、このプロジェクトはLombokが必要なので、STSにLombokがインストールされている必要があります。
スクリーンショットのエラー状況から推測するに、まだインストールされていないようなので、STSを一旦終了した状態でLombokをインストールしておいてください。
(インストールの仕方はご存知だとおもいますが、ねんのため説明すると、Lombokのダウンロードサイトからlombok.jarというファイルをダウンロード → lombok.jarをダブルクリック → インストール画面が立ち上がるので、"Specify location..."ボタンをクリックしてSTSのインストールディレクトリを指定 → "Install / Update"ボタンをクリック → インストールが完了したら画面右したの"Quit Installer"をクリック)

インポート後
GitHubからプロジェクトをインポートした直後の状態です。
インポート後

Maven Projectへ変換後
パッケージエクスプローラー上のプロジェクト名を右クリック → "Configure" → "Convert to Maven Project"を選択した後の状態です。
MavenProject

Mavenプロジェクトに変換できると、

    1. プロジェクト名に左側に表示されているアイコンにMという字が付きます。(上の画像では見にくいですが拡大すると分かると思います)
    1. "Maven Dependencies"が表示されます。

Maven Dependencies
Maven Dependenciesを開くと、プロジェクトが依存するライブラリを確認できます。
この図を見るとSpring BootやSpring Frameworkなどのjarファイルが確認できると思います。

MavenDependencies

通常なら、この段階でプロジェクトのインポートは完了していて、開発やビルドなどが行える状態になっていると思いますが、ごくまれに依存ライブラリのダウンロードができていなかったり、Mavenプロジェクトへの変換が失敗していることがあります。
そのような場合は、まず下記の"Update Project"を実行してみます。

Update Project
パッケージエクスプローラー上のプロジェクト名を右クリック → "Maven" → "Update Project"を選択します。
MavenUpdate

この操作はpom.xmlを編集して依存ライブラリを追加したり減らしたりした後にもよく実行します。

pom.xml
依存ライブラリを確認する方法としてpom.xmlファイルを開いたエディタの"Dependency Hierarchy"を見るというのもあります。
pom.xmlファイルをダブルクリックすると、通常はエディタ画面が開きますが、その画面下にある"Dependency Hierarchy"タブを選択すると図のように依存関係が確認できます。

pom.xml

2018/11/28 追記

Mavenで指定するゴールについて

このゴールは、Spring BootアプリケーションをMavenから実行する際に指定するゴールです。なので特に間違っていることはありません。

spring-boot:run

このときに発生したエラーの原因ですが、下記のエラーメッセージの内容から考えると、アプリケーションがRedisに接続できないことが理由と思います。

Invocation of init method failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool: java.net.ConnectException: Connection refused: connect

pom.xmlを確認すると下記のライブラリが記述されていたので、このアプリケーションはRedisを必要とするようです。
ちなみに、このspring-boot-starter-redisという依存ライブラリはSpring BootでRedisを利用するときによく利用されます。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency>

なので、このアプリケーションを実行するにはお使いのPCにRedisをインストールし、事前に起動させておく必要があります。
Redisをインストールしていない場合は、インストールの仕方などGoogleで調べてみてください。

それからspring-boot:run以外でよく使うゴールには、

clean package

というものがあります。
このゴールを指定して実行すると、まず、以前のビルドで生成されたclassファイルやjarファイルなどがあれば削除し、次にソースコードをコンパイルしてjarファイルやwarファイル(成果物)を生成します。
jarファイルやwarファイルはプロジェクトのtargetというディレクトリの下に生成されます。

試しに、このゴールを実行してみて正常にビルドできるか確認してみてください。
ビルドが正常に終了するとコンソールに下記のようなメッセージが終了されると思います。

...省略... [INFO] --- spring-boot-maven-plugin:1.3.3.RELEASE:repackage (default) @ jsug-shop --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 16.283 s [INFO] Finished at: 2018-11-28T22:57:06+09:00 [INFO] ------------------------------------------------------------------------

lombokのインストールについて

追加で貼付して頂いたスクリーンショットを見る限りlombokが有効でないように思います。
インストールはされているということですが、いくつか確認して頂きたい点があります。

  1. 次の画面を確認してください。

メニューバー → "Help" → "About Spring Tool Suite 4"
下の図の画面が表示されると思いますが、Lombokがインストールされているとマーカーで囲った表記が追加されているはずです。
help

  1. メニューバー → "Project" → "Clean..."でプロジェクトをクリーンしてみてください。

  2. メニューバー → "Project" → "Build Automatically"にチェックが付いているか確認してください。

  3. Accountクラスのソースファイルを開いて、エラーがおきていないか確認してください。

このスクリーンショットは私の環境で確認したものです。
Account

投稿2018/11/27 14:18

編集2018/11/28 14:17
rubytomato

総合スコア1752

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

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

sanezane

2018/11/27 17:38 編集

いつも丁寧な回答ありがとうございます。 rubytomatoさんの示された手順通りlombokについてもインストールして、確認しましたところプロジェクトのライブラリにも入っており、示されたパス内にjarファイルを確認できました。プロジェクトの更新も試しました。ですが、キャプチャの通りBuilderクラスの自動生成されているハズ?(まだこの辺りは勉強中であいまいです)のbuilderメソッドが定義がないと怒られます。 import lombok.Builerの箇所にはエラーは出ていません。 しかし、「・ch01ブランチの実行構成キャプチャ」の通りに実行してみるとビルドが通り! ローカル環境にて画面が見れました。(STS内エラーの×は出ている。) この流れでch06ブランチ(完成品)もインポートして実行構成の基底ディレクトリを${workspace_loc:/jsug-shop-06}へ変更してゴールはそのまま実行したところmavenの中でch01を実行するように引数が与えられたようなエラー(一番下に追記)が発生しました。 このゴールという実行時の引数?は何を指定すればよいのでしょうか。 ググったところ色んな値を入れているようで正解がわかりませんでした。 ご教授いただければ幸いです。
rubytomato

2018/11/28 23:30

追記しましたのでご確認ください。
sanezane

2018/12/02 14:23

まず、lombokでエラーが出ていた件についてですが、参照している場所にバージョンの違う2つのlombok.jarがあり、参照している方のインストールをもう一度実行したところエラーが消えました。 実行についてですが、mainメソッドの入っているクラスから実行したところ実行できました。
guest

0

JavaプロジェクトじゃなくてMavenプロジェクトへ変換してみようと考えたで問題ないです。
ただ、このプロジェクトはlombokを使用しているためコンパイルエラーが出てると思われます。
はずしてたらすんません。

lombokのインストールについては以下の方法いずれかで可能だと思います。
1.このサンプルのインストール手順書?を確認する。
2.サンプルを作成した作者に問い合わせをする。
3.STS4へのlombokインストールについてgoogleで検索をする。

投稿2018/11/27 07:26

umed0025

総合スコア851

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問