QA@IT

spring tool suiteのtemplateにbatchが出てこない

5345 PV

お世話になります。以下の環境でSTSを使用してspring-batchを作成してみようと考えています。

OS:windows7
STS:3.7.0(bundleをダウンロード)
java:jre1.8.0_60

作業環境の都合上、オフラインでの開発となります。

STSを起動し、file>New>spring projectを選択したのですが、simple projectのテンプレート(Simple java、simple spring Maven、simple spring web Maven)のみしか出てきません。

海外のサイトも検索してみたのですが、うまくこの事象にヒットしません。

何が原因なのでしょうか。情報が不足しているかもしれませんが、ご教示いただければと思います。

回答

こちらの環境ではFile > New > Spring Projectを選ぶと、Templatesとして

  • Simple Projects (Simple Java、Simple Spring Maven、Simple Spring Web Maven)
  • Batch (Simple Spring Batch Project、Spring Batch Admin Webapp)
  • GemFire (...)
  • Integration (...)
  • Persistence (...)
  • Simple Spring Utility Project
  • Spring MVC Project

が出てきますね。Simple Projectsの下3個以外のものは"requires downloading"のマーク付きです。

環境
OS: Windows 7(64ビット)
STS: 3.7.0.RELEASE for Windows
java: jdk_1.7.0_79(64ビット)

ダウンロードしたSTSのサイズは411MBでした。

javaのバージョン(7/8)の違いはたぶん関係ないと思いますが、もしJREしか入れていないなら、リリースノートに

STS requires a JDK to run on top of.

と書いてあったので、JDKを入れたほうがよいと思います。

追記

試しにWindowsのローカルエリア接続を無効にして「オフライン」にしてやってみたら、

  • Simple Projects (Simple Java、Simple Spring Maven、Simple Spring Web Maven)

しか出ませんでした。"requires downloading"のマーク付きのものは出なくなりました。その辺でしょうかね。

さらに追記

オンラインのときに一度"Simple Spring Batch Project"等のプロジェクトを作成すると、テンプレートは下記の場所にキャッシュされました。

場所

<workspace>\.metadata\.sts\content

その後はオフラインでもプロジェクトが作成できるようでした。

完全にオフラインでということになると、たぶん”Self-Hosted Templates”というものを自作して、それを使う形なのかなあと思いますが、その辺は僕もよく分かりません。

編集 履歴 (2)
  • 色々と試して頂いて有り難うございます!まったく同じ状況です。オフラインが理由みたいです。オフラインで開発したい場合はどうしたらよいのでしょうか? -
  • わざわざ試して頂いて有り難うございます。自分でも環境を何とか構築して試してみます。有り難うございました。 -

Eclipse Mars 2(Mac)でPreiadesとSTS3.8.1を使って確認しましたが、これでいかがでしょう。

(1)パッケージエクスプローラから右クリックで 「新規 > Springレガシー・プロジェクト」を選びます。
(2)表示されたウィンドウにプロジェクト名の入力欄と、テンプレートの選択用にツリービューとして、
 「Batch > Simple Spring Batch Project」が選べます。
(3) 「次へ」で「Simple Spring Batch Projectはxxxxバイトのダウンロードが必要です。」
 となるので、「はい」
(4) 最後にトップレベルパッケージの名前を入力してプロジェクトができます。

「実行の構成」と「デバッグの構成」で”Javaアプリケーション”を選択し、メイン・クラスに
「org.springframework.batch.core.launch.support.CommandLineJobRunner」を指定。
プログラムの引数に
「classpath:/launch-context.xml job1」
を指定したら実行できました。エラーは出てないようです。

ご参考になれば幸いです。

編集 履歴 (1)
ウォッチ

この質問への回答やコメントをメールでお知らせします。