共有ライブラリを管理するために Sonatype の Nexus Repository Manager OSS を使用する ( その6 )( 登録した ksbysample-library-simpleutils ライブラリを Spring Boot のプロジェクトから利用してみる )
概要
共有ライブラリを管理するために Sonatype の Nexus Repository Manager OSS を使用する ( その5 )( 簡単なライブラリを作成して Nexus に登録してみる ) の続きです。
- 今回の手順で確認できるのは以下の内容です。
- Spring Boot のプロジェクトを作成し、登録した ksbysample-library-simpleutils ライブラリを利用してみます。
参照したサイト・書籍
目次
手順
ksbysample-library-simpleutils ライブラリを利用する Spring Boot のプロジェクトを作成する
Spring Initializr でプロジェクトを作成する
IntelliJ IDEA のメインメニューから「File」-「Close Project」を呼び出して、ksbysample-library-simpleutils ライブラリのプロジェクトを閉じます。
「Welcome to IntelliJ IDEA」ダイアログが表示されます。「Create New Project」メニューをクリックします。
「New Project」ダイアログが表示されます。画面左側の一覧から「Spring Initializr」を選択した後、「Next」ボタンをクリックします。
Name、Type 等を入力する画面が表示されます。以下の画像の内容を入力後、「Next」ボタンをクリックします。
Spring Boot の Version 及び Dependencies を指定する画面が表示されます。Spring Boot は 1.3.6 を、Dependencies は Web のみ選択して「Next」ボタンをクリックします。
Project name、Project locationj を入力する画面が表示されます。ただし、なぜか "-"(ハイフン) が消えてしまっていますね。以前は残っていたと思うのですが。。。
以下の画像のように Project Name に "-"(ハイフン) を追加して Project location を修正した後、「Finish」ボタンをクリックします。
IntelliJ IDEA のメイン画面が表示された後、「Import Module from Gradle」ダイアログが表示されます。「Create directories for empty content roots automatically」のチェックボックスをチェックした後、「OK」ボタンをクリックします。
以下の画像のダイアログが表示されますので、処理が完了するまで待ちます。
処理が完了して Project View を見ると以下のような構成になります。
Gradle projects View から bootRun を実行して Tomcat が起動することを確認します。
Ctrl+F2 を押して Tomcat を停止します。
build.gradle を変更して ksbysample-library-simpleutils ライブラリを利用できるようにする
Spring Initializr で生成した直後の build.gradle は リンク先のその1の内容 なので、Nexus に登録した ksbysample-library-simpleutils ライブラリを利用できるようにするために リンク先のその2の内容 に変更します。
Gradle projects View の左上にある「Refresh all Gradle projects」ボタンをクリックして build.gradle を反映します。
反映後 Project View の External Libraries を展開すると、ksbysample-library-simpleutils ライブラリが利用可能になっていることが確認できます。
SampleController クラスを作成する
動作確認
Gradle projects View から bootRun タスクを実行して Tomcat を起動します。
ブラウザから http://localhost:8080/sample にアクセスすると、"1,2,3" の文字列が表示されました。
Ctrl+F2 を押して Tomcat を停止します。
commit します。
次回は。。。
以下の内容を試してみます。
- ksbysample-library-simpleutils ライブラリの内容を変更してアップロードすると Nexus にどのように登録されるのか確認します。
- ksbysample-library-simpleutils ライブラリを Nexus にアップロードした時にバージョン番号が 1.0-SNAPSHOT ではなく 1.0-20160716.025552-1 に変わったのですが、1.0-SNAPSHOT のままアップロードする方法があるのか調べてみます。
- ksbysample-library-simpleutils ライブラリの SNAPSHOT のリリースを削除して 1.0-RELEASE でリリースしてみます。
ソースコード
build.gradle
■その1
buildscript { ext { springBootVersion = '1.3.6.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'spring-boot' jar { baseName = 'ksbysample-webapp-demo' version = '0.0.1-SNAPSHOT' } sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') } eclipse { classpath { containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER') containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8' } }
■その2
buildscript { ext { springBootVersion = '1.3.6.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'spring-boot' apply plugin: 'maven' jar { baseName = 'ksbysample-webapp-demo' version = '0.0.1-SNAPSHOT' } sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { maven { url "http://localhost:8081/repository/maven-public" } } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') compile('ksbysample.library:ksbysample-library-simpleutils:1.0-20160716.025552-1') } eclipse { classpath { containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER') containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8' } }
apply plugin: 'maven'
を追加します。- repositories の指定を
mavenCentral()
→maven { url "http://localhost:8081/repository/maven-public" }
へ変更します。Maven Central も Nexus の Proxy 経由でアクセスしてみます。 - dependencies に
ompile('ksbysample.library:ksbysample-library-simpleutils:1.0-20160716.025552-1')
を追加します。
SampleController.java
package ksbysample.webapp.demo; import ksbysample.library.simpleutils.StringListUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.Arrays; @Controller @RequestMapping("/sample") public class SampleController { @RequestMapping @ResponseBody public String index() { return StringListUtils.convertStringList2LengthCsv(Arrays.asList("a", "ab", "abc")); } }
履歴
2016/07/20
初版発行。