読者です 読者をやめる 読者になる 読者になる

山崎屋の技術メモ

IT業界で働く中で、気になること、メモしておきたいことを書いていきます。

Spring 関連記事へのリンク集

Spring に関連した記事を書き散らかしていたので、ここにまとめておく。

Eclipse ファイル検索のスコープ

Eclipse で複数のファイルから、特定の文字列を探すべく、ファイル検索をよく使うことがあります。

ショートカットは Ctrl + H。

今回は検索ダイアログの Scope についてまとめてみました。(Working set 以外)

f:id:yyama1556:20170314114946p:plain

選択肢は4つで、意味は次のとおり。

選択肢 説明
Workspace ワークスペース内のすべてのプロジェクトから検索する。
Selected resource 選択しているパッケージやフォルダ内から検索する。
Enclosing project 選択しているプロジェクト内から検索する。
Working set 指定したワーキングセット内から検索する

実演

つぎのようなプロジェクトを準備しました。

f:id:yyama1556:20170314115002p:plain

各ファイルには hoge というコメントが1行だけ入っています。

こんな感じ。

package pac1;

public class ClassA {
	// hoge
}

Workspace

まずは Workspace を選択したときの動きを確認する。ProjectA の pac1 を選択して Ctrl + H。

f:id:yyama1556:20170314115538p:plain

hoge という文字列を検索する。Scope は Workspace を選択して、Search ボタン押下。

f:id:yyama1556:20170314115853p:plain

すると pac1 だけでなく、pac2 配下の Java ファイルや、ProjectB の Java ファイルも検索結果に含まれています。

f:id:yyama1556:20170314120158p:plain

このように、選択している場所にかかわらず、ワークスペース全体から文字列を検索していることが分かります。

Selected resource

つぎは Selected resource。

先ほどと同じく ProjectA の pac1 を選択して Ctrl + H。

Scope に Selected resource を選んで検索した結果がこちら。

f:id:yyama1556:20170314121058p:plain

pac1 配下の Java ファイルだけが検索されていることが分かります。

Enclosing project

最後に、Enclosing project の動きを確認。

ProjectA の pac1 を選択して検索した結果がこちら。

f:id:yyama1556:20170314121310p:plain

ProjectA の pac2 配下も検索されていますね。そして ProjectB は検索対象に入っていません。


以上、ファイル検索の Scope についてまとめてみました。

検索ダイアログの整理方法を紹介した記事はこちら。

yyama1556.hateblo.jp

それでは。

Eclipse 関連記事のリンク集を作りました。
yyama1556.hateblo.jp


JavaデベロッパーのためのEclipse完全攻略[4.x対応版]

JavaデベロッパーのためのEclipse完全攻略[4.x対応版]

Eclipse 検索ダイアログを整理する

Eclipse で、Ctrl + H もしくは、メニューの Search から、さまざまな検索がおこなえて便利である。

しかし、その便利な機能の反面、検索ダイアログのタブが異常に多くて笑える。

f:id:yyama1556:20170114131341p:plain

私は Java 開発がメインなので、使うのは File 検索がメインで、たまに Java 検索くらいである。

なので C/C++ 検索などのタブを消してしまいたい。

ついでに、一番最後に使用した検索タブが、次回の検索時に自動でアクティブになるよう設定する。

Eclipse のバージョンは 4.6 ( neon )。

使わない検索のタブを消す。

Eclipse 検索の調査をしていて、Customize... というボタンを見つけた。

f:id:yyama1556:20170114131958p:plain


押してみると、タブの表示/非表示の選択ができるダイアログが表示された。

f:id:yyama1556:20170114132234p:plain


使うタブ以外のチェックを外す。

f:id:yyama1556:20170114132602p:plain

最後に使用した検索タブを次回起動時にアクティブに

このダイアログをよく見ると、Remember last use page というチェックボックスがある。

f:id:yyama1556:20170114132745p:plain

これを、チェックすることで、前回使用したタブが自動でアクティブになってくれるので、検索をスムーズに行うことができる。

まとめ

これで、だいぶすっきりしたし、Ctrl + H を押すだけで一番よく使う File 検索がアクティブになってくれる。

f:id:yyama1556:20170114133200p:plain

快適な開発生活を!おしまい。

ファイル検索時のスコープについてまとめた記事はこちら。

yyama1556.hateblo.jp

そのほか、Eclipse の Tips をまとめました。

yyama1556.hateblo.jp


JavaデベロッパーのためのEclipse完全攻略[4.x対応版]

JavaデベロッパーのためのEclipse完全攻略[4.x対応版]

Eclipse パーフェクトマニュアルベストセレクション

Eclipse パーフェクトマニュアルベストセレクション

Eclipse で Maven プロジェクトの作成からJDKバージョンの設定

前回は、コマンドラインMavenプロジェクトを作成し、Eclipse にインポートする記事を書いた。

yyama1556.hateblo.jp

今回はより実践的に Eclipse を使用してMavenプロジェクトを作成してみる。

また、なぜか作成したプロジェクトの Java バージョンが 1.5 になるので、これを 1.8 に変更する手順も記載する。

Maven プロジェクトの作成

まず、パッケージエクスプローラの何もないところで右クリックし[ new ] → [ other ]を選択する。
New ダイアログが表示されるので、[ Maven Project ] を選択し、[ Next ]ボタン押下。

f:id:yyama1556:20170103105015p:plain

New Maven Project ダイアログが表示されるので、そのまま[ Next ]を押下。

f:id:yyama1556:20170103105359p:plain

前の画面で[ Create a simple project ]をチェックすると、Eclipse 関連のファイルと pom.xml ファイルだけが作成され、java ファイルは何も作成されない。

[ Create a simple project ]をチェックしないと、次のようにアーキタイプ(プロジェクトの雛形となるもの)を選択するダイアログが表示される。

f:id:yyama1556:20170103105845p:plain

ここでは、シンプルなコマンドラインプロジェクトである[ maven-archetype-quickstart ]を選択し、[ Next ]を押下する。

グループIDとアーティファクトIDを入力する画面が表示される。

f:id:yyama1556:20170103110120p:plain

ここではグループIDに[ org.yyama ]とし、アーティファクトIDに[ mvn1 ]と入力し[ Finish ]を押下する。

f:id:yyama1556:20170103110424p:plain

これでシンプルなプロジェクトが作成される。

f:id:yyama1556:20170103110840p:plain

実行すると[ Hello World! ]が表示されるシンプルなプロジェクトで、Junit のテストも用意されている。

Java バージョンの変更

先ほどの図を見ていただくとわかるように[ JRE System Library ]が J2SE-1.5 になっており、いまどきこのバージョンで開発することはありえない。これを 1.8 に変更するには pom.xml ファイルを修正する必要がある。

編集前の pom.xml ファイルの内容は次のとおり。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.yyama</groupId>
  <artifactId>mvn1</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>mvn1</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

やり方は 2 通りあり、どちらでもかまわない。

properties タグ内にバージョンを追記する方法

編集前の properties タグを抜粋すると次のようになっている。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

これに[ maven.compiler.source ]タグと[ maven.compiler.target ]タグを追記して、次のようにする。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

pom.xml をセーブし、パッケージエクスプローラでプロジェクトを右クリックし、[ Maven ]→[ Update Project... ]を選択する( Alt+F5 でもOK )と、Update Maven Project ダイアログが表示されるので、OK ボタンを押下する。

f:id:yyama1556:20170103112759p:plain

すると[ JRE System Library ]が JavaSE-1.8 に変更されていることが確認できる。

f:id:yyama1556:20170103113008p:plain

maven-compiler-plugin のバージョンを明記する方法

次の記述を閉じタグ</dependencies>の直下( 閉じタグ</project>の直前 )に追記する。

   <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
   </plugins>
  </build>

pom.xml をセーブした後、前述した Maven プロジェクトの update を実施すると、やはり Java のバージョンが 1.8 に変更される。

どちらの記述にするか?

好みによるだろうが、私は記述量が少ないほうが良いと思っているので一つ目のやり方をとっている。


今日はここまで、でわっ。

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Maven3のはじめかた

Maven3のはじめかた

maven で作ったプロジェクトを Eclipse にインポートする

コマンドラインで作成した maven プロジェクトを Eclipse にインポートする手順を掲載する。普通は Eclipsemaven プロジェクトを作成すれば済むので、あまり利用場面はないかもしれないが、念のためメモしておく。

各種バージョン

OS は Windows7

Eclipse は 4.6(neon)。インストール方法は以前の記事で。

javamaven と git のバージョンはこちら。

C:\mvn_training>mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T01:41:47+09:00)
Maven home: C:\opt\apache-maven-3.3.9\bin\..
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_91\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

C:\mvn_training>git --version
git version 2.9.0.windows.1

コマンドラインを使用して maven のプロジェクトを作成

mavenアーキタイププラグイン( maven-archetype-plugin ) を使用して、シンプルなプロジェクトを作成する。

今回は [ C:\mvn_training ] フォルダを作成し、その下で作業をする。

次のコマンドを入力し、対話形式でプロジェクトを作成する。

mvn archetype:generate -Dfilter=org.apache.maven.archetypes:maven-archetype-quickstar

archetype:generate について、
Mavenアーキタイプメモ(Hishidama's Apache Maven archetype Memo) に詳しく書かれているので参考にさせて頂いた。

グループIDは [ org.yyama ]。アーティファクトIDは[ mvn_to_eclipse ]。その他はデフォルトとした。

出力および入力した内容の全量はこちら。

C:\mvn_training>mvn archetype:generate -Dfilter=org.apache.maven.archetypes:maven-archetype-quickstar
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1:
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
Define value for property 'groupId': : org.yyama
Define value for property 'artifactId': : mvn_to_eclipse
Define value for property 'version':  1.0-SNAPSHOT: :
Define value for property 'package':  org.yyama: :
Confirm properties configuration:
groupId: org.yyama
artifactId: mvn_to_eclipse
version: 1.0-SNAPSHOT
package: org.yyama
 Y: :
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: C:\mvn_training
[INFO] Parameter: package, Value: org.yyama
[INFO] Parameter: groupId, Value: org.yyama
[INFO] Parameter: artifactId, Value: mvn_to_eclipse
[INFO] Parameter: packageName, Value: org.yyama
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\mvn_training\mvn_to_eclipse
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:47 min
[INFO] Finished at: 2016-12-23T13:44:34+09:00
[INFO] Final Memory: 14M/182M
[INFO] ------------------------------------------------------------------------

初めてこのコマンドを打ったときはインターネット経由で必要なファイルがたくさんダウンロードされるので注意。

これでプロジェクトが作成できた。

[ mvn_to_eclipse ]フォルダが自動で作成され、その下にもフォルダやファイルが自動生成される。

作成されたフォルダ/ファイルは次のとおり。

C:\mvn_training>tree /F
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は E417-10DB です
C:.
└─mvn_to_eclipse
    │  pom.xml
    │
    └─src
        ├─main
        │  └─java
        │      └─org
        │          └─yyama
        │                  App.java
        │
        └─test
            └─java
                └─org
                    └─yyama
                            AppTest.java

Eclipse に取り込む準備をする

maven の機能を使用して、Eclipse にインポートできるように準備する。

先ほど作成された[ mvn_to_eclipse ]フォルダに移動し、次のコマンドを打つ。

mvn eclipse:eclipse

コマンドを打った際に出力されるログの全量はこちら。

C:\mvn_training\mvn_to_eclipse>mvn eclipse:eclipse
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building mvn_to_eclipse 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-eclipse-plugin:2.10:eclipse (default-cli) > generate-resources @ mvn_to_eclipse >>>
[INFO]
[INFO] <<< maven-eclipse-plugin:2.10:eclipse (default-cli) < generate-resources @ mvn_to_eclipse <<<
[INFO]
[INFO] --- maven-eclipse-plugin:2.10:eclipse (default-cli) @ mvn_to_eclipse ---
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Not writing settings - defaults suffice
[INFO] Wrote Eclipse project for "mvn_to_eclipse" to C:\mvn_training\mvn_to_eclipse.
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.374 s
[INFO] Finished at: 2016-12-23T13:53:50+09:00
[INFO] Final Memory: 12M/155M
[INFO] ------------------------------------------------------------------------

tree /f コマンドを打つと、Eclipse にインポートするのに必要な[ .project ]ファイルと[ .classpath ]ファイルが作成されたことがわかる。

C:\mvn_training\mvn_to_eclipse>tree /f
フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は E417-10DB です
C:.
│  .classpath
│  .project
│  pom.xml
│
└─src
    ├─main
    │  └─java
    │      └─org
    │          └─yyama
    │                  App.java
    │
    └─test
        └─java
            └─org
                └─yyama
                        AppTest.java

Eclipse にインポートする

Eclipse を起動し、パッケージエクスプローラの何もないところで右クリックし[ Import... ]を選択する。

f:id:yyama1556:20161223140620p:plain

すると Import ダイアログが表示されるので、[ Existing Maven Projects ]を選択する。

f:id:yyama1556:20161223140818p:plain

[ Import Maven Projects ]ダイアログが表示されるので、[ Root Directory ]に先ほど作成した[ C:\mvn_training\mvn_to_eclipse ]を指定する。

[ finish ]ボタンを押したら、無事プロジェクトがインポートできた。

f:id:yyama1556:20161223141236p:plain

ここまで。おしまい。

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Apache Maven 3クックブック Javaソフトウェア開発のための特選レシピ集

Maven3のはじめかた

Maven3のはじめかた