Java開発の始め方

tamuraです。

まっさらな状態からJavaのプログラムを書き始めるときのやり方についてまとめました。

前提

  • コンソールアプリを想定
  • Javaをちょっと書いた事があるが、ゼロから書いたことがない

プログラムを書く場所

結論: どこでも良い

Golangとは違う。

ディレクトリ構成

一般的には以下のようなディレクトリ構成です。

$ tree
.
|____src
| |____main
| | |____java
| | |____resources
| |____test
| | |____java
| | |____resources

説明

src/main/java

Javaのソースを配置します。

余談ですが、Kotlinとかを使う場合は src/main/kotlin とやったりすることもあります。

src/main/resources

プロパティファイルなど、Javaのソースではないけど実行時に一緒に使うファイル等を配置します。

src/test/java

テストプログラムの置き場所。 これもKotlinの場合は src/main/kotlin とやったりする人もいます。

src/test/resources

テスト用のプロパティファイルを配置します。 テスト用のリソースについては後述します。

とりあえずの始め方

ディレクトリ構成に従ってディレクトリを作成します。

$ mkdir -p src/main/java
$ mkdir -p src/main/resources
$ mkdir -p src/test/java
$ mkdir -p src/test/resources

Mavenを使う場合

以下をコピペして、 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></groupId>
  <artifactId></artifactId>
  <version></version>

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

  
  <build>
    <defaultGoal>package</defaultGoal>
    <finalName>${project.artifactId}-${project.version}</finalName>
	
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
      </plugin>
    </plugins>
  </build>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

説明

groupId

このプログラムのパッケージを設定します。 個人なら com.github.tamurashingo みたいにしておけばOKです。 会社なら会社から指定された値だったり、ドメインをひっくり返した値(例:com.google)にします。

artifactId

プログラムの名前です。

version

バージョンです。 0.0.1 とか 0.1.0 とか、Javaだと3桁区切りが多い気がしますが、好きに付けてOKです。

0.0.1-SNAPSHOT のように、末尾に -SNAPSHOT をつけるときもあります。 (ここでは説明しません)

maven.compiler.sourcemaven.compiler.target

Javaのバージョンです。揃えておきましょう。

JDK12の場合は 12 と指定します。

これは javac への -source -target への引数となるので、 javac の説明をよく読みましょう。

Gradleを使う場合

以下をコピペして、build.gradle というファイル名でプロジェクトディレクトリ直下に保存します。

plugins {
  id 'application'
}

repositories {
  jcenter()
}

dependencies {
  testImplementation 'junit:junit:4.12'
}

ソース

src/main/java 下にパッケージを掘って書いていきます。 ソースは割愛。

ビルド

Maven派

コンパイル

$ mvn compile

テスト

$ mvn test

ビルド

$ mvn package

Gradle派

コンパイル

$ gradle compileJava

テスト

$ gradle test

ビルド

$ gradle 

git管理

git管理するのは pom.xml build.gradle settings.gradle src/ くらいです。 それ以外は .gitignore に記載してgit管理されないようにします。

# Gradle
.gradle
build

# Maven
target

comments powered by Disqus