これは便利！人気のJavaライブラリ+αのまとめ

# 概要

Mavenのリポジトリのランキング（ https://mvnrepository.com/open-source ）からランキング上位のものと自身の独断のものを追加。
 記載例
1. ライブラリのタイトル（公式ページへのリンク）
2. GitHubのページ
3. バージョン情報
4. 使い方例
5. 使用する際のMavenのタグ（※）
※　注意事項：Mavenのバージョンタグ（version）のバージョンナンバーは常に変わるので注意。

---

# テストフレームワーク

-  [Junit](https://junit.org/junit5/)
：Javaのユニットテストの定番ライブラリ

![icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/9b55aaa9-311c-88fa-79f0-09a4eaf960ea.png)

GitHub：https://github.com/junit-team/junit5
バージョン情報：https://mvnrepository.com/artifact/junit/junit
使い方例：https://qiita.com/takehiro224/items/a5d4265c4a1b36b0919c

```xml
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
```

-  [TestNG](http://testng.org/doc/)
：JUnitをより便利にという目的で作れられたテストフレームワーク。JUnitの機能を継承している。

GitHub：https://github.com/cbeust/testng
使い方例：http://www.mitchy-world.jp/java/test/testng5_01.htm
バージョン情報：https://mvnrepository.com/artifact/org.testng/testng

```xml
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.14.2</version>
    <scope>test</scope>
</dependency>
```

-  [DBunit](http://dbunit.sourceforge.net/) 
：DBのテストで使用するライブラリ

![icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/c1a96388-28ed-0f40-a972-bd0cbb68aa9f.png)

バージョン情報：https://mvnrepository.com/artifact/org.dbunit/dbunit
使い方例：https://qiita.com/tarosa0001/items/70a1efa9edac2d83ba1a

```xml
<dependency>
    <groupId>org.dbunit</groupId>
    <artifactId>dbunit</artifactId>
    <version>2.5.4</version>
</dependency>
```

# ログ
-  [SLF4J](https://www.slf4j.org/)
：ログのインターフェイス。実装のライブラリは、Log4jやLogbackを使用する。

![icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/5e80aa33-98c7-52e1-e1f4-89619f2880af.png)

GitHub：https://github.com/qos-ch/slf4j
バージョン情報：https://mvnrepository.com/artifact/org.slf4j/slf4j-api


```xml
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
```

-  [Log4j](https://logging.apache.org/log4j/2.x/)：Javaのログ出力の定番のライブラリ

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/logging-log4j2
バージョン情報：https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core
使い方例：https://qiita.com/mato-599/items/979e10135c1cb54ceda9

```xml
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.11.0</version>
</dependency>
```

-  [Logback](https://logback.qos.ch/)
：Log4jと並ぶ、ログAPI。Log4jの開発者が作った別のロギングライブラリ。

GitHub：https://github.com/qos-ch/logback
バージョン情報：https://mvnrepository.com/artifact/ch.qos.logback/logback-classic
使い方例：https://qiita.com/joe_hrmn/items/356f1e2b05cb90241414
　　　　　https://qiita.com/opengl-8080/items/49719f2d35171f017aa9

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/94241779-449e-2e94-0130-0961612f2c3f.png)



```xml
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
```



# モック
-   [Mockito](http://site.mockito.org/) 
：モックライブラリ。クラスに依存しないオブジェクト（モック）を作成できる

![icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/9f1747d2-9d51-96bb-2fb2-94a09cdac98c.png)

GitHub：https://github.com/mockito/mockito
バージョン情報：https://mvnrepository.com/artifact/org.mockito/mockito-core
使い方例：https://qiita.com/hitomatagi/items/95ba1bc6a630bac16f9e

```xml
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>2.16.0</version>
    <scope>test</scope>
</dependency>
```


# Webサイトのセット

有名なHTML/CSS/JSのフレームワークのファイルをJarで圧縮している。
一番人気はangularで意外だが、Spring+Angularで使用してるからかな。

-  [Angular](https://angular.io/)

GitHub：https://github.com/angular/angular
バージョン情報：Google社が開発したサーバーサイドのJavaScript

```xml

<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>angular</artifactId>
    <version>1.6.9</version>
</dependency>
```

-  [Jquery](https://jquery.com/)
: JavaScriptのライブラリ

GitHub：https://github.com/jquery/jquery
バージョン情報：https://mvnrepository.com/artifact/org.webjars.bower/jquery

```xml
<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>jquery</artifactId>
    <version>3.3.1</version>
</dependency>
```

-  [Polymer](https://www.polymer-project.org/)
：Googleが開発したJavaScript UIフレームワーク

GitHub：https://github.com/Polymer/polymer
バージョン情報：https://mvnrepository.com/artifact/org.webjars.bowergithub.polymer/polymer

```xml
<dependency>
    <groupId>org.webjars.bowergithub.polymer</groupId>
    <artifactId>polymer</artifactId>
    <version>2.6.0</version>
</dependency>

```

-  [Bootstrap](https://getbootstrap.com/)
：HTML/CSS/JSの定番のフレームワーク

GitHub：https://github.com/twbs/bootstrap
バージョン情報：https://mvnrepository.com/artifact/org.webjars/bootstrap

```xml
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>4.0.0-2</version>
</dependency>
```


# ユーティリティ

-  [Guava: Google Core Libraries for Java](https://github.com/google/guava/wiki)
：文字操作やコレクションの操作、ファイル操作など様々な便利機能がつまったライブラリ。グアバと読む。
　モダンなつくりやメンテナンスが頻繁に行われているなどの理由に最近の人気は guava > apache.commonsの模様。

![150907-google-icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/438a32e5-686f-999b-b34f-aa33579e60c3.png)

GitHub：https://github.com/google/guava
バージョン情報：https://mvnrepository.com/artifact/com.google.guava/guava
使い方例：https://qiita.com/miyasumas/items/f5b09e8712d020cadf70

```xml
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>23.0</version>
</dependency>
```

-   [Apache Commons](https://commons.apache.org/)
：上と同じような便利機能のライブラリ。Guavaより歴史は古い。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-lang
バージョン情報：https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
使い方例：https://qiita.com/asahina_dev/items/11ea0637f85243461c7d

```xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.7</version>
</dependency>
```

# JSON操作
-  Jackson
：JSON操作のライブラリ

バージョン情報：https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
使い方例：https://qiita.com/nijuya_o/items/a6d692c2083726ac56b2

```xml
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.4</version>
</dependency>
```

-  [google-gson](https://github.com/google/gson/blob/master/UserGuide.md/)
：上と同じ。最近は jackson > gsonの模様。個人的にはこっちが好き。

![150907-google-icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/438a32e5-686f-999b-b34f-aa33579e60c3.png)

GitHub：https://github.com/google/gson
バージョン情報：https://mvnrepository.com/artifact/com.google.code.gson/gson
使い方例：https://qiita.com/naoi/items/6b184700b2a41fb46356

```xml
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.2</version>
</dependency>
```

# コンフィグ操作
-  [Apache Commons Configuration](https://commons.apache.org/proper/commons-configuration/)
：多種多様なコンフィグファイル（properties,xml）の読み込みができる

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-configuration
バージョン情報：https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2
使い方例：http://d.hatena.ne.jp/daisuke-m/20091022/1256215300

```xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-configuration2</artifactId>
    <version>2.2</version>
</dependency>
```

# テンプレートエンジン

-  [Apache FreeMarker](https://freemarker.apache.org/)
：シャープを含むタグを使い容易に式や関数の埋め込みが書ける。一番人気。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/freemarker
バージョン情報：https://mvnrepository.com/artifact/org.freemarker/freemarker
使い方例：https://iwb.jp/freemarker-reference/

```xml
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.23</version>
</dependency>
```

-   [Velocity](http://velocity.apache.org/)
：$を使いPHPのように変数を使えるテンプレートエンジン。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

バージョン情報：https://mvnrepository.com/artifact/org.apache.velocity/velocity
使い方例：http://www.techscore.com/tech/Java/ApacheJakarta/Velocity/index/

```xml
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>
```

-   [Thymeleaf](https://www.thymeleaf.org/)
：HTMLの中にEL式を埋め込みつかるテンプレートエンジン。順位6位だけど個人的には一番好き。

![150907-google-icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/561f7d77-6544-addd-f1c4-0f37557f8a21.png)

GitHub：https://github.com/thymeleaf/thymeleaf
バージョン情報：https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf
使い方例：https://iwb.jp/freemarker-reference/

```xml
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.9.RELEASE</version>
</dependency>
```

参考：Thymeleafの拡張機能（Java8のた日時クラス(Date and Time API)を使うの拡張機能）

バージョン情報：https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-java8time

```xml
<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-java8time</artifactId>
    <version>3.0.1.RELEASE</version>
</dependency>
```

# Beanバリデーション

-  [Bean Validation API](http://beanvalidation.org/)
：JavaEEの標準機能にあるバリデーション機能。Nullや正規表現や電話番号といったチェックができる。

![150907-google-icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/6df463a0-26aa-20e1-2fb3-7c6435e76f32.png)


GitHub：https://github.com/beanvalidation/beanvalidation-api
バージョン情報：https://mvnrepository.com/artifact/javax.validation/validation-api
使い方例：https://qiita.com/opengl-8080/items/3926fbde5469c0b330c2

```xml
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>
```

-   [Hibernate Validator](http://hibernate.org/validator/)
：上記に加え、メールアドレスといったチェックも提供している。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/bb973efc-b634-9f7b-207c-adf838d53a53.png)

GitHub：https://github.com/hibernate/hibernate-validator
バージョン情報：https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator
使い方例：https://terasolunaorg.github.io/guideline/public_review/ArchitectureInDetail/Validation.html#id15

```xml
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.9.Final</version>
</dependency>
```

# HTTPクライアント

-  [Apache HttpCore](https://hc.apache.org/httpcomponents-core-ga)
：HTTP通信（GET,POST）を便利にかけるようにしたライブラリ

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/httpcomponents-core
バージョン情報：https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore
使い方例：https://itsakura.com/java-httpclient

```xml
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.4.9</version>
</dependency>
```

-  [OkHttp](http://square.github.io/okhttp/)
：上記と同じような機能をもつライブラリ。

GitHub：https://github.com/square/okhttp
バージョン情報：https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
使い方例：https://qiita.com/hymmr/items/5d87277b44892e7b690b

```xml
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>3.10.0</version>
</dependency>
```

# 入出力

-  [Commons IO](https://commons.apache.org/proper/commons-io/)
：ファイルの入出力などに関するライブラリ

GitHub：https://github.com/apache/commons-io
バージョン情報：https://mvnrepository.com/artifact/commons-io/commons-io
使い方例：https://qiita.com/yuji38kwmt/items/175461f99b5c1f3123b2

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

```xml
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>
```

# XML操作

-  [Xerces](http://xerces.apache.org)
：ハイパフォーマンスなXMLファイルの操作可能なライブラリ、XML操作はdom4jより人気みたい。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/jboss/xerces
バージョン情報：https://mvnrepository.com/artifact/xerces/xercesImpl


```xml
<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.11.0</version>
</dependency>
```

-  [dom4j](https://dom4j.github.io/)
：上と同じ。こっちの方が操作しやすいと思う。

GitHub：https://github.com/dom4j/dom4j
バージョン情報：https://mvnrepository.com/artifact/dom4j/dom4j
使い方例：http://brbranch.jp/blog/201503/java/dom4j/

```xml
<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>
```

# Bean操作

-  [Apache Commons BeanUtils](http://commons.apache.org/proper/commons-beanutils)
：Java Beanの値を取得／コピーとかしたいときに使うライブラリ。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-beanutils
バージョン情報：https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils
使い方例：https://qiita.com/horimislime/items/a9b9cf89e13cc9639ff2

```xml
<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.3</version>
</dependency>
```

# バグ

-  [Spotbugs (旧FindBugs)](https://spotbugs.github.io/)
：静的なバグ解析・発見ツール。アノテーションにてバグがないかを検知する。FindBugsから名前が変わってSpotbugsと呼ばれている。

![150907-google-icon.png](https://qiita-image-store.s3.amazonaws.com/0/230829/438a32e5-686f-999b-b34f-aa33579e60c3.png)

GitHub：https://github.com/findbugsproject/findbugs
バージョン情報：https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
使い方例：http://spotbugs.readthedocs.io/ja/latest/eclipse.html

```xml
<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.2</version>
</dependency>
```

# ORM

-  [Hibernate](http://hibernate.org/)
：一番有名なORM。オブジェクトとRDBを紐づけるライブラリ。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/bb973efc-b634-9f7b-207c-adf838d53a53.png)

GitHub：https://github.com/hibernate/hibernate-orm
バージョン情報：https://mvnrepository.com/artifact/org.hibernate/hibernate-core
使い方例：http://www.techscore.com/tech/Java/Others/Hibernate/index/

```xml
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.16.Final</version>
</dependency>
```

-  [MyBatis](http://www.mybatis.org/mybatis-3/)
：XMLもしくはアノテーションでDBを操作できるのが特徴的なORMの１つ

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/effda179-44a1-3332-faef-85b3fcf5cd3f.png)

GitHub：https://github.com/tuguangquan/mybatis
バージョン情報：https://mvnrepository.com/artifact/org.mybatis/mybatis
使い方例：https://qiita.com/opengl-8080/items/a9b5d4038f19d4813ee6

```xml
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>
```

-  [Doma](http://doma.readthedocs.io)
：日本製のORM。2waySQLが特徴の１つ。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/e362cafb-5e7d-811d-1555-9a5e98211b4a.png)

GitHub：https://github.com/domaframework/doma
バージョン情報：https://mvnrepository.com/artifact/org.seasar.doma/doma
使い方例：http://doma.readthedocs.io/ja/stable/getting-started/

```xml
<dependency>
    <groupId>org.seasar.doma</groupId>
    <artifactId>doma</artifactId>
    <version>2.19.2</version>
</dependency>
```

↓ SpringBootと使うなら以下の方が便利かと。

バージョン情報：https://mvnrepository.com/artifact/org.seasar.doma.boot/doma-spring-boot-starter

```xml
<dependency>
    <groupId>org.seasar.doma.boot</groupId>
    <artifactId>doma-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>
```


# DBドライバ

-  [MySQL](https://dev.mysql.com/downloads/connector/j/)
：MySQLのJDBCドライバ

GitHub：https://github.com/spullara/mysql-connector-java
バージョン情報：https://mvnrepository.com/artifact/mysql/mysql-connector-java

```xml
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
</dependency>
```

-  [PostgreSQL](https://jdbc.postgresql.org/)
：PostgreSQLのJDBCドライバ

バージョン情報：https://mvnrepository.com/artifact/org.postgresql/postgresql

```xml
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.2</version>
</dependency>
```

-  [SQL Server](https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server)
：SQL ServerのJDBCドライバ

バージョン情報：https://mvnrepository.com/artifact/mysql/mysql-connector-java

```xml
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.4.0.jre9</version>
    <scope>test</scope>
</dependency>
```

-  [MongoDB](https://mongodb.github.io/mongo-java-driver/)
：MongoDB（NoSQL）のJDBCドライバ

バージョン情報：https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver

```xml
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.6.3</version>
</dependency>

```

# 埋め込みSQL

-  [H2](http://www.h2database.com/html/main.html)
：プログラムで動くスタンドアロンのRDB。

バージョン情報：https://mvnrepository.com/artifact/com.h2database/h2

```xml
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.197</version>
    <scope>test</scope>
</dependency>
```

-  [HyperSQL Database](http://hsqldb.org/)
：100%JavaのSQLデータベースエンジン。

バージョン情報：https://mvnrepository.com/artifact/org.hsqldb/hsqldb

```xml
<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>2.4.0</version>
    <scope>test</scope>
</dependency>

```



# Excel&Word操作

-  [Apache POI](https://poi.apache.org/)
：Excel&Wordを操作することができる

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/poi
バージョン情報：https://mvnrepository.com/artifact/org.apache.poi/poi
使い方例：https://qiita.com/ptiringo/items/d8b4cc667b4ad6827939 (Word)

```xml
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>
```


# HTML操作

-  [jsoup](https://jsoup.org/)
：HTMLファイルの解析・編集・スクレイピングを行うためのライブラリ

GitHub：https://github.com/jhy/jsoup
バージョン情報：https://mvnrepository.com/artifact/org.jsoup/jsoup
使い方例：https://qiita.com/opengl-8080/items/d4864bbc335d1e99a2d7

```xml
<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.11.2</version>
</dependency>
```

# CSVファイル操作

-  [OpenCSV](http://opencsv.sourceforge.net/)
：CSVを操作するためのライブラリ

GitHub：https://github.com/jlawrie/opencsv
バージョン情報：https://mvnrepository.com/artifact/com.opencsv/opencsv
使い方例：https://qiita.com/buta29/items/01fa40612feeeab5063c

```xml
<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>4.1</version>
</dependency>
```

-  [Apatch Commons CSV](https://commons.apache.org/proper/commons-csv/)
：上記と同じ機能をもつライブラリ

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-csv
バージョン情報：https://mvnrepository.com/artifact/org.apache.commons/commons-csv
使い方例：http://wannabe-jellyfish.hatenablog.com/entry/2017/06/05/210209

```xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.5</version>
</dependency>
```

# メッセージ

-  [Apache Kafka](https://kafka.apache.org)
：分散メッセージングシステム。大量のデータを素早く連携するのに便利らしい。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/dc79976d-89ec-060e-3a3f-42b06241bfeb.png)


GitHub：https://github.com/apache/kafka
バージョン情報：https://mvnrepository.com/artifact/org.apache.kafka/kafka
使い方例：https://qiita.com/FJKei/items/3c8f5c6ab605b781aae5

```xml
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.12</artifactId>
    <version>1.0.1</version>
</dependency>
```

-  [Apache ActiveMQ](http://activemq.apache.org/)
：上記と同じメッセージシステム。

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/activemq
バージョン情報：https://mvnrepository.com/artifact/org.apache.activemq/activemq-core

```xml
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-core</artifactId>
    <version>5.7.0</version>
</dependency>
```

# アクター
-  [Akka](https://akka.io/)
：並列処理を便利にしたライブラリ。使ったことない。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/df44e469-2b10-c809-9c36-f6a247c3f3a5.png)


GitHub：https://github.com/akka/akka
バージョン情報：https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor

```xml
<dependency>
    <groupId>com.typesafe.akka</groupId>
    <artifactId>akka-actor_2.12</artifactId>
    <version>2.5.11</version>
</dependency>
```

# PDF操作
-  [Apache PDFBox](https://pdfbox.apache.org/)
：PDFファイルの操作。一番人気のPDFのライブラリ

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/pdfbox
バージョン情報：https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox
使い方例：https://qiita.com/EichiSanden/items/8f142782f0b3f997b377

```xml
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.9</version>
</dependency>
```

-  [iText PDF](https://itextpdf.com/)
：PDFBoxと並ぶPDFのファイル操作のライブラリ。使いやすいが取り扱い時はライセンスに注意。

GitHub：https://github.com/itext/itextpdf
バージョン情報：https://mvnrepository.com/artifact/com.itextpdf/itextpdf

```xml
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.13</version>
</dependency>
```

# メール送信

-  [JavaMail](http://www.oracle.com/technetwork/java/javamail/index.html)
：JavaEEの標準機能。メール送るならJavaMail

GitHub：https://github.com/itext/itextpdf
バージョン情報：https://github.com/javaee/javamail

```xml
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.6.1</version>
</dependency>
```

# タスクスケジュール

-  [Quartz](http://www.quartz-scheduler.org)
：時間指定でジョブの実行ができる。個人的にSpring使っているならSpring Batchでよいのではと思う。

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/be3b1ffe-6222-62ec-5959-c789fb05ce79.png)

GitHub：https://github.com/quartz-scheduler/quartz
バージョン情報：https://mvnrepository.com/artifact/org.quartz-scheduler/quartz
使い方例：https://qiita.com/kojisaiki/items/e338458f8e19a003354e

```xml
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.0</version>
</dependency>
```

# ファイルアップロード

-  [Apache Commons FileUpload](https://commons.apache.org/proper/commons-fileupload)
：POSTされたファイルのデータを操作することができる

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-fileupload
バージョン情報：https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
使い方例：https://www.javadrive.jp/servlet/fileupload_tutorial/index5.html

```xml
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>
```

# 圧縮・解凍

-  [Apache Commons Compress](https://commons.apache.org/proper/commons-compress)
：簡単に圧縮・解凍ができる。また多種多様なフォーマット(zip,tar,jar,7z)にも対応

![apachelogo.png](https://qiita-image-store.s3.amazonaws.com/0/230829/18a53176-e18e-46b8-cf10-b532427ae883.png)

GitHub：https://github.com/apache/commons-compress
バージョン情報：https://mvnrepository.com/artifact/org.apache.commons/commons-compress
使い方例：http://grachro.hatenablog.com/entry/20100405/1270477346

```xml
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-compress</artifactId>
    <version>1.16.1</version>
</dependency>
```

# ソーシャルネットワーククライアント

-  [Twitter4J](http://twitter4j.org/en/index.html)
：Twitterの情報を取得・投稿などするとき使う

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/31d3be38-02ad-20a2-a37b-1ae5c1ffe679.png)

GitHub：https://github.com/yusuke/twitter4j
バージョン情報：https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core
使い方例：http://kikutaro777.hatenablog.com/entry/2013/07/19/195626

```xml
<dependency>
    <groupId>org.twitter4j</groupId>
    <artifactId>twitter4j-core</artifactId>
    <version>4.0.6</version>
</dependency>
```

# その他

-  [Lombok](https://projectlombok.org/)
：読み方（ロンボック）もしくは（ロンボク）。Setter/Getterなどの面倒な記述からお別れできるライブラリ

GitHub：https://github.com/rzwitserloot/lombok
バージョン情報：https://mvnrepository.com/artifact/org.projectlombok/lombok
使い方例：https://qiita.com/opengl-8080/items/671ffd4bf84fe5e32557

```xml
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>
```

-  [Flyway](https://flywaydb.org/)
：DBをバージョン管理するライブラリ

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/5dad6af8-24ba-04ab-c382-b75c33c67d5b.png)

GitHub：https://github.com/flyway
バージョン情報： https://mvnrepository.com/artifact/org.flywaydb/flyway-core
使い方例：https://qiita.com/opengl-8080/items/6368c19a06521b65a655

```xml
<dependency>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-core</artifactId>
    <version>5.0.7</version>
</dependency>
```

-  [Swagger](https://swagger.io/)
：APIのドキュメント化するライブラリ

JSON形式だと際限なく項目追加できるがきちんと定義すればドキュメント化してくれるツール

![icon2.png](https://qiita-image-store.s3.amazonaws.com/0/230829/a3239a77-649e-9f9f-2768-8a9a9c5d349b.png)

GitHub：https://github.com/swagger-api/swagger-core
バージョン情報：https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-core
　　　　　　　　https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-jaxrs2
使い方例：https://qiita.com/sato_gohan/items/3df6feb628d559dc5fda

```xml
<dependency>
    <groupId>io.swagger.core.v3</groupId>
    <artifactId>swagger-core</artifactId>
    <version>2.0.0-rc4</version>
</dependency>
<dependency>
     <groupId>io.swagger.core.v3</groupId>
     <artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
     <version>2.0.0</version>
</dependency>
```