zoomzoomzoom

解決方法の共有に主眼を置くブログ・他雑談

Spring徹底入門13.2 つまづき

RESTful Webサービスを作成する。

・RESTful Webサービスが起動しない。

MessageクラスとMessagesControllerクラスをcom.examle配下に作成し、DemoApplicationクラスを実行。が、localhostに何も変化なし。HelloWorldのまま。。。これでいいのか?次ページ13.2.2の図を見ると、まだブラウザ上の表示がHelloWorldのままなのでひとまずこれでよしとする。

 

・HelloControllerがhtmlを自動生成しない

教科書ではHelloControllerなるクラスを新規に作成して、コードを書き、DemoApplicationで呼び出すことでhtmlが自動生成される~と説明しているが、そのようなhtmlが作成された形跡もなく、またlocalhostの表示もなんら変更がない。ずっとDemoApplicationしか動作しておらず、その他のクラスが関連して呼び出されていない様子。

 

ここら辺でSpringについてWebでお勉強を再開。(教科書は、成功すること前提に書かれているから、落ちこぼれたときに置いてきぼりになりますよね。)

春だから!Javaでの開発にSpring Bootを使おう!

記事によると→Spring BootではXMLは書かず、Javaのコードにアノテーションを書くだけで、全て自動的に行われます。 

(やっぱ自動生成!いや、"html"は自動生成ではないぞ・・・)

記事によると→作成されたプロジェクトを右クリックして、「Run As」から「Maven install」を選びます。これで、必要なものがインストールされ、ビルドされます。

(ん?これは気になるぞ。。。Mavenインストールはしてなかったけど効果ありそう)

 

 

Mavenプロジェクトで Spring MVC の Hello World を作成する方法: ある SE のつぶやき

他で一つプロジェクトを作って学習し、それからDemoに戻ったほうが解決策を思いつくかもしれないと考えた。上記のサイトで修行することに。

Dependencesの設定のところで、検索窓に入力しても何の音沙汰もない。stackoverflowというところで解決策を発見。

"window→preferences→mavenとすすみ、download~となっているところ全てにチェック。その後Applyを押してOKを押して、STS再起動。"

再起動すると、mavenのindexの更新がかかる。再度入力。何も起こらない。

再度Google先生で検索。するとまたもstackoverflowに該当記事が。

You also need to rebuild your maven repository index in 'maven repository view'.

maven repo viewを探すのが面倒だったので、作成したmaven プロジェクトを削除して新たに作成しなおすことにした。無事indexが動き始める。

(追記:STS画面右上の小さな検索窓にmavenと入れるとmaven repoらしきものがあるのでそれを選択。すると、local,global,project,customのprojectが現れるので、globalを開き、centralの上で右クリックして、full-index-enabledにチェック。updateが始まるので完了するまで待ち、その後再びcentral上で右クリックをしてrebuild indexを選択。)

 

JDK1.8を使用するようにpom.xmlに以下を追記。

==================================

<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

</project>←これが最後のタグになるようにコピペ!

 

プロジェクト上で右クリックして、Maven > Update Project(alt+f5)で更新完了。

===================================

コントローラーとビューの作成の手前まで進めた。 

 

これまでの操作でDemoがなぜ動かなかったか、理由を2つほど思いつく。

1dependencesのダウンロードをしていなかった?

2以下の依存関係を追記します、となっていたが、dependencesタブに書き込むだけでpom.xmlには何も記述しなかった。これが不具合の原因か?