Open kurodakazumichi opened 6 years ago
Based on Eclipse 4.7.3.a Windows 64bit 版を取得
D:/Works/java/sts/sts-bundle
とすればOK。
D:/Works/java/sts/sts-bundle/sts-3.9.4.RELEASE/STS.ext
を起動する。D:/Works/java/sts/workspace
にする。(workspaceフォルダは新たに作る。)Launch
を押す。File
> New
> Spring Legacy Project
を選択HelloWorld
Simple Spring Web Maven
Finish
を押す。Spring Legacy Projectは古いタイプのプロジェクトで 基本的な要素しかないので、必要なものは自分でいれていく系
SPring Starter ProjectはSpring Bootといういい感じのものが既にはいってて まともに開発するならこっちを使うっぽい
が、学習する時はなるべくミニマムがモットーな俺はLegacyでいくZE
HelloWorld
を右クリックMaven
> Update Project...
を選択OK
を押す。HelloWorld
を右クリック > Run As
> Maven Install
Maven Install
をするとHelloWorld直下のpom.xml
に記述されている
Spring Framework等がプロジェクトのライブラリとして使えるようになる。
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building HelloWorld 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom
[INFO] Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-~~~~~~~
~~~~~~~
~~~~~~~
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.419 s
[INFO] Finished at: 2018-05-09T19:35:05+09:00
[INFO] Final Memory: 15M/204M
[INFO] ------------------------------------------------------------------------
こんな感じのログがでる。
BUILD SUCCESS
となればOK。
Server
ウィンドウのPivotal tc Server Developer Edition v4.0
を右クリックAdd and Remove
を選択Add and Remove
ウィンドウが開くHelloWorld
を選択してAdd >
HelloWorld
が追加される。Finish
を押す。Add and Remove
ウィンドウが閉じる。Server
ウィンドウのPivotal tc Server Developer Edition v4.0
を右クリックStart
を選択ファイアーウォール
ウィンドウが開いたら許可する。Server startup in xxxx ms
と表示されればOKhttp://tech.pjin.jp/blog/2016/04/28/springframework1/
【第七回】Spring Frameworkを使ってみる ~データベースにアクセスする①~にて詰み。 そもそも第1回と第7回でSpringのバージョンが違うんだが? まったく連載になってない。 バージョンに関係する依存問題でエラーが出てまともに進まない。 連載にそって試したら確実にエラーで進めないとか結構悪質なサイトなんだけど。
【第四回】Spring Frameworkを使ってみる ~画面遷移~ 【第五回】Spring Frameworkを使ってみる ~データ受け渡し~ 【第六回】Spring Frameworkを使ってみる ~入力値チェック~ 【第七回】Spring Frameworkを使ってみる ~データベースにアクセスする①~ 【第八回】Spring Frameworkを使ってみる ~データベースにアクセスする②~ 【第九回】Spring Frameworkを使ってみる ~データベースにアクセスする③~ 【第十回】Spring Frameworkを使ってみる ~データベースにアクセスする④~
【第六回】Spring Frameworkを使ってみる ~入力値チェック~ 【第七回】Spring Frameworkを使ってみる ~データベースにアクセスする①~ 【第八回】Spring Frameworkを使ってみる ~データベースにアクセスする②~ 【第九回】Spring Frameworkを使ってみる ~データベースにアクセスする③~ 【第十回】Spring Frameworkを使ってみる ~データベースにアクセスする④~
【第七回】Spring Frameworkを使ってみる ~データベースにアクセスする①~
下記のソースをpom.xmlのpropertiesに足してください。
<hibernate.version>4.3.10.Final</hibernate.version>
追加って書いているが、そもそも最初から書いてある。 追加すると2重定義になってエラーになる。
下記のソースをpom.xmlのdependenciesに足してください。
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.8.1.RELEASE</version>
</dependency>
<!-- db connection -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
まず元記事はインデントがない、入門サイトでしょ?インデントつけなさい。
そしてspring-data-jpa、下記に抜粋するが、これを書くと
もうずっとInternal Server Error 505
になる。
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.8.1.RELEASE</version>
</dependency>
java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh(Lorg/springframework/beans/factory/annotation/InjectionMetadata;Ljava/lang/Class;)Z
needsRefreshというのがSpring4から追加されたものらしい
連載記事には
Springのバージョンが4未満のものの場合は、4.X.Xに変更しましょう。 今回の記事では「4.2.5.RELEASE」に変更します
と書いてあるが、4.x.xにしたところでエラーが変わるだけ。 そもそも最初の記事ではSTS 3.7.xだったはず なぜ4.2.5.RELEASEになっているのか? 環境変わってない?そして動くか確認せず適当に書いただろう。 そもそもこういう記事書くときはかならず使ってるツールとかのバージョンを 一番最初に書けと言いたい。 書いてない記事は、正しいバージョンが解ってないと言ってるようなもの。
別途MySQLをインストール(もともとMySQL5.7入れてた)
Eclipseからデータベースに接続するデータソースを作成していきます。 「window」⇒「show view」⇒「other…」を選択します。 開いたポップアップの中で「Data Management」⇒「Data Source Explorer」
ない、「Data Source Explorer」なんてないよ?
Eclipseのプラグインを入れる。というかSTSには最初から入ってないみたい。 ならプラグイン入れるところから書けよという苛立ち しかもEclipseのプラグインも、Eclipseのバージョンに依存するっぽい いったいどうやって探せというのか、初Javaerな俺には辛すぎる。
頑張る事半日。
Spring Tool Suite(STS)にEclipse Data Toolsを追加 ここを参考にした。
Eclipse Data Tools Platform(DTP)というプラグインを入れないといけないらしい
STSのHelp -> Install New Software...
Work with:という項目にリポジトリのURL?入れないといけないらしい わけがわからん。
さらにリポジトリはEclipseのバージョンによってURLも違うみたい 絶望ばかり感じる。
STSのHelp > About Spting Tool Suite ここからEclipseのバージョンが確認できた。
Platform: Eclipse Oxygen.3a (4.7.3a)
https://eclipse.org/datatools/downloads.php ここにDTPとEclipseのバージョンの関係が載ってるっぽい
Oxygenのリポジトリが1.14.1と1.14の2つあるみたいだが どっちかわからないので1.14.1にした。
STSのHelp -> Install New Software...のWork withに http://download.eclipse.org/datatools/1.14.1.201712071719/repository/
を入力してEnterするとEclipse Data Tools(中に2つくらい含まれてる)がでたので 全て選択してインストール。
インストールが終わるまで待つ。 というかインストールされてるかどうかがわからない。 インストールしたのにうまくいかないなんでって諦めかけたその時 インストール完了したからSTS再起動するよってダイアログが出た。 Eclipseもいろいろ不親切すぎるだろ。
これもまったく記事通りにいかない、めちゃくちゃにもほどがあるぞ。 事前条件がまったく示されていなさ過ぎて話にならない。
次にJDBCドライバーの指定をします。 Systemversion 5.1のMySQL JSBC Driverを選択して、Driver nameを入力します。
ここで死ぬ。
Unable to locate JAR/zip in file system as specified by the driver definition: mysql-connector-java-5.1.0-bin.jar.
こんなエラーがでてて選択できない。 もう力尽きた。
Springとは
Javaで使われるWeb Frameworkとのこと
開発環境
Windows 10 Java 8 Sprint Tools Suite 3.9.4.RELEASE
D:Works/java/sts
を開発ルートにする。