This is convenient! Summary of popular Java library + α

Overview

From the Maven repository ranking (https://mvnrepository.com/open-source), add the top ranking ones and the ones at your own discretion. Description example

  1. Library title (link to official page)
  2. GitHub page
  3. Version information
  4. Usage example
  5. Maven tag when using (*)

Test framework

icon.png

GitHub:https://github.com/junit-team/junit5 Version information: https://mvnrepository.com/artifact/junit/junit Usage example: https://qiita.com/takehiro224/items/a5d4265c4a1b36b0919c

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

GitHub:https://github.com/cbeust/testng Usage example: http://www.mitchy-world.jp/java/test/testng5_01.htm Version information: https://mvnrepository.com/artifact/org.testng/testng

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

icon.png

Version information: https://mvnrepository.com/artifact/org.dbunit/dbunit Usage example: https://qiita.com/tarosa0001/items/70a1efa9edac2d83ba1a

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

log

icon.png

GitHub:https://github.com/qos-ch/slf4j Version information: https://mvnrepository.com/artifact/org.slf4j/slf4j-api

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

-Log4j: Java log output standard library

apachelogo.png

GitHub:https://github.com/apache/logging-log4j2 Version information: https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core Usage example: https://qiita.com/mato-599/items/979e10135c1cb54ceda9

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

GitHub:https://github.com/qos-ch/logback Version information: https://mvnrepository.com/artifact/ch.qos.logback/logback-classic Usage example: https://qiita.com/joe_hrmn/items/356f1e2b05cb90241414      https://qiita.com/opengl-8080/items/49719f2d35171f017aa9

icon2.png

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

mock

icon.png

GitHub:https://github.com/mockito/mockito Version information: https://mvnrepository.com/artifact/org.mockito/mockito-core Usage example: https://qiita.com/hitomatagi/items/95ba1bc6a630bac16f9e

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

Website set

Jar compresses files from the well-known HTML / CSS / JS framework. The most popular is angular, which is surprising, but maybe because it's used in Spring + Angular.

GitHub:https://github.com/angular/angular Version information: Server-side JavaScript developed by Google


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

GitHub:https://github.com/jquery/jquery Version information: https://mvnrepository.com/artifact/org.webjars.bower/jquery

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

GitHub:https://github.com/Polymer/polymer Version information: https://mvnrepository.com/artifact/org.webjars.bowergithub.polymer/polymer

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

GitHub:https://github.com/twbs/bootstrap Version information: https://mvnrepository.com/artifact/org.webjars/bootstrap

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

utility

150907-google-icon.png

GitHub:https://github.com/google/guava Version information: https://mvnrepository.com/artifact/com.google.guava/guava Usage example: https://qiita.com/miyasumas/items/f5b09e8712d020cadf70

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

apachelogo.png

GitHub:https://github.com/apache/commons-lang Version information: https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 Usage example: https://qiita.com/asahina_dev/items/11ea0637f85243461c7d

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

JSON operation

Version information: https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind Usage example: https://qiita.com/nijuya_o/items/a6d692c2083726ac56b2

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

150907-google-icon.png

GitHub:https://github.com/google/gson Version information: https://mvnrepository.com/artifact/com.google.code.gson/gson Usage example: https://qiita.com/naoi/items/6b184700b2a41fb46356

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

Config operation

apachelogo.png

GitHub:https://github.com/apache/commons-configuration Version information: https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2 Usage example: http://d.hatena.ne.jp/daisuke-m/20091022/1256215300

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

Template engine

apachelogo.png

GitHub:https://github.com/apache/freemarker Version information: https://mvnrepository.com/artifact/org.freemarker/freemarker Usage example: https://iwb.jp/freemarker-reference/

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

apachelogo.png

Version information: https://mvnrepository.com/artifact/org.apache.velocity/velocity Usage example: http://www.techscore.com/tech/Java/ApacheJakarta/Velocity/index/

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

150907-google-icon.png

GitHub:https://github.com/thymeleaf/thymeleaf Version information: https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf Usage example: https://iwb.jp/freemarker-reference/

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

Reference: Thymeleaf extension (extension that uses Java 8 Date and Time API)

Version information: https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-java8time

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

Bean validation

150907-google-icon.png

GitHub:https://github.com/beanvalidation/beanvalidation-api Version information: https://mvnrepository.com/artifact/javax.validation/validation-api Usage example: https://qiita.com/opengl-8080/items/3926fbde5469c0b330c2

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

icon2.png

GitHub:https://github.com/hibernate/hibernate-validator Version information: https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator Usage example: https://terasolunaorg.github.io/guideline/public_review/ArchitectureInDetail/Validation.html#id15

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

HTTP client

apachelogo.png

GitHub:https://github.com/apache/httpcomponents-core Version information: https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore Usage example: https://itsakura.com/java-httpclient

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

GitHub:https://github.com/square/okhttp Version information: https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp Usage example: https://qiita.com/hymmr/items/5d87277b44892e7b690b

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

Input / output

GitHub:https://github.com/apache/commons-io Version information: https://mvnrepository.com/artifact/commons-io/commons-io Usage example: https://qiita.com/yuji38kwmt/items/175461f99b5c1f3123b2

apachelogo.png

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

XML manipulation

apachelogo.png

GitHub:https://github.com/jboss/xerces Version information: https://mvnrepository.com/artifact/xerces/xercesImpl

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

GitHub:https://github.com/dom4j/dom4j Version information: https://mvnrepository.com/artifact/dom4j/dom4j Usage example: http://brbranch.jp/blog/201503/java/dom4j/

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

Bean operation

apachelogo.png

GitHub:https://github.com/apache/commons-beanutils Version information: https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils Usage example: https://qiita.com/horimislime/items/a9b9cf89e13cc9639ff2

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

bug

-Spotbugs (formerly FindBugs) : Static bug analysis / discovery tool. Detect for bugs with annotations. The name has changed from FindBugs to Spotbugs.

150907-google-icon.png

GitHub:https://github.com/findbugsproject/findbugs Version information: https://mvnrepository.com/artifact/com.google.code.findbugs/jsr305 Usage example: http://spotbugs.readthedocs.io/ja/latest/eclipse.html

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

ORM

icon2.png

GitHub:https://github.com/hibernate/hibernate-orm Version information: https://mvnrepository.com/artifact/org.hibernate/hibernate-core Usage example: http://www.techscore.com/tech/Java/Others/Hibernate/index/

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

icon2.png

GitHub:https://github.com/tuguangquan/mybatis Version information: https://mvnrepository.com/artifact/org.mybatis/mybatis Usage example: https://qiita.com/opengl-8080/items/a9b5d4038f19d4813ee6

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

icon2.png

GitHub:https://github.com/domaframework/doma Version information: https://mvnrepository.com/artifact/org.seasar.doma/doma Usage example: http://doma.readthedocs.io/ja/stable/getting-started/

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

↓ If you use it with Spring Boot, the following is more convenient.

Version information: https://mvnrepository.com/artifact/org.seasar.doma.boot/doma-spring-boot-starter

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

DB driver

GitHub:https://github.com/spullara/mysql-connector-java Version information: https://mvnrepository.com/artifact/mysql/mysql-connector-java

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

Version information: https://mvnrepository.com/artifact/org.postgresql/postgresql

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

Version information: https://mvnrepository.com/artifact/mysql/mysql-connector-java

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

Version information: https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver

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

Embedded SQL

Version information: https://mvnrepository.com/artifact/com.h2database/h2

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

Version information: https://mvnrepository.com/artifact/org.hsqldb/hsqldb

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

Excel & Word operation

apachelogo.png

GitHub:https://github.com/apache/poi Version information: https://mvnrepository.com/artifact/org.apache.poi/poi Usage example: https://qiita.com/ptiringo/items/d8b4cc667b4ad6827939 (Word)

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

HTML manipulation

GitHub:https://github.com/jhy/jsoup Version information: https://mvnrepository.com/artifact/org.jsoup/jsoup Usage example: https://qiita.com/opengl-8080/items/d4864bbc335d1e99a2d7

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

CSV file operation

GitHub:https://github.com/jlawrie/opencsv Version information: https://mvnrepository.com/artifact/com.opencsv/opencsv Usage example: https://qiita.com/buta29/items/01fa40612feeeab5063c

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

apachelogo.png

GitHub:https://github.com/apache/commons-csv Version information: https://mvnrepository.com/artifact/org.apache.commons/commons-csv Usage example: http://wannabe-jellyfish.hatenablog.com/entry/2017/06/05/210209

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

message

icon2.png

GitHub:https://github.com/apache/kafka Version information: https://mvnrepository.com/artifact/org.apache.kafka/kafka Usage example: https://qiita.com/FJKei/items/3c8f5c6ab605b781aae5

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

apachelogo.png

GitHub:https://github.com/apache/activemq Version information: https://mvnrepository.com/artifact/org.apache.activemq/activemq-core

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

actor

icon2.png

GitHub:https://github.com/akka/akka Version information: https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor

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

PDF operation

apachelogo.png

GitHub:https://github.com/apache/pdfbox Version information: https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox Usage example: https://qiita.com/EichiSanden/items/8f142782f0b3f997b377

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

GitHub:https://github.com/itext/itextpdf Version information: https://mvnrepository.com/artifact/com.itextpdf/itextpdf

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

send e-mail

GitHub:https://github.com/itext/itextpdf Version information: https://github.com/javaee/javamail

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

Task schedule

icon2.png

GitHub:https://github.com/quartz-scheduler/quartz Version information: https://mvnrepository.com/artifact/org.quartz-scheduler/quartz Usage example: https://qiita.com/kojisaiki/items/e338458f8e19a003354e

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

file upload

apachelogo.png

GitHub:https://github.com/apache/commons-fileupload Version information: https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload Usage example: https://www.javadrive.jp/servlet/fileupload_tutorial/index5.html

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

Compression / decompression

apachelogo.png

GitHub:https://github.com/apache/commons-compress Version information: https://mvnrepository.com/artifact/org.apache.commons/commons-compress Usage example: http://grachro.hatenablog.com/entry/20100405/1270477346

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

Social network client

icon2.png

GitHub:https://github.com/yusuke/twitter4j Version information: https://mvnrepository.com/artifact/org.twitter4j/twitter4j-core Usage example: http://kikutaro777.hatenablog.com/entry/2013/07/19/195626

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

Other

GitHub:https://github.com/rzwitserloot/lombok Version information: https://mvnrepository.com/artifact/org.projectlombok/lombok Usage example: https://qiita.com/opengl-8080/items/671ffd4bf84fe5e32557

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

icon2.png

GitHub:https://github.com/flyway Version information: https://mvnrepository.com/artifact/org.flywaydb/flyway-core Usage example: https://qiita.com/opengl-8080/items/6368c19a06521b65a655

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

You can add items endlessly in JSON format, but if you define it properly, it will document it.

icon2.png

GitHub:https://github.com/swagger-api/swagger-core Version information: https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-core         https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-jaxrs2 Usage example: https://qiita.com/sato_gohan/items/3df6feb628d559dc5fda

<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>

Recommended Posts

This is convenient! Summary of popular Java library + α
Summary of Java support 2018
[Xcode] First of all, this is a convenient shortcut
[Java11] Stream Summary -Advantages of Stream-
[Java] Summary of regular expressions
[Java] Summary of operators (operator)
Summary of Java language basics
[Java] Summary of for statements
Summary of Java Math class
[Java] Summary of control syntax
Summary of java error processing
[Java] Summary of design patterns
[Java] Summary of mathematical operations
[For beginners] Summary of java constructor
Summary of [Java silver study] package
Summary of object-oriented programming using Java
[Java Silver] Summary of access modifier points
[java] Summary of how to handle char
Summary of changes other than JEP of Java10
[Java] Personal summary of conditional statements (basic)
[Java] [Maven3] Summary of how to use Maven3
Java Summary of frequently searched type conversions
Summary of Java Math.random and import (Calendar)
[java] Summary of how to handle character strings
Summary of Java environment settings for myself [mac]
The order of Java method modifiers is fixed
[Java] Personal summary of classes and methods (basic)
[Java] Summary of how to abbreviate lambda expressions
Method name of method chain in Java Builder + α
Installing Java is not easy! Summary of precautions to finish perfectly in one time