Java
exec-maven-pluginについて 2つのゴールを持つ exec javaプログラムを含む複数のプログラムの実行 java javaプログラムの実行。 実行するJAVAバージョンは最新もしくは、$JAVA_HOME に依存する。 java goal pom.xml <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1</version></plugin>…
reduceメソッド <U> U reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner) U identity 累算器、合成器の初期値 BinFunction<U, ? super T, U> accumulator 累算器 BinaryOperator<U> combiner 結合器、順次ストリームのときは結果に影響を与えない 各パラメータ</u></u,></u></u,></u>…
境界ワイルドカードは他のプログラミング言語には多分存在しない。 ただこれがあることで、メソッド間でデータのやり取りが楽になる。 役割 Javaのジェネリックは、型パラメーターが継承関係であっても異なる型になる。 つまり List<Number> と List<Integer> は型が異なり、</integer></number>…
環境変数 → ユーザー環境変数 以下を設定 JAVA_HOME = jdkを配置した場所
関数(メソッド)を受け取る仕組み 匿名クラスによるインターフェースの実装をラムダ式で行えるようにした 定義 @FunctionalInterface interface Action<T, R> { R run(T input); } 抽象メソッドを一つ定義する 実装はしない 使用例 Action<String, Void> logger = (input) -> { Sy</string,></t,>…
匿名クラス (Anonymous Inner Classes) 概要 Java 7以降 クラスの定義とインスタンス化を同時に行う仕組み 使用方法として以下の2つがある 1. クラスの拡張 2. インターフェースの実装 1. クラスの拡張 匿名クラスによって、インスタンス化時に拡張を実装す…
概要 mvn archetype:create-from-package コマンドで既存のプロジェクトからArchetypeを生成することができるが、 Mavenプロジェクト生成時に指定したPackage名に変更する必要がある。 ソースコードはこちら github.com Archetypeの生成 1. 既存のMavenプロ…
それぞれバイト列ストリームから他の文字列ストリーム(Reader/Writer系)へ変換するための橋渡しをする java.nio.charset.Charset によるエンコーディング指定が出来る ファイルの読み書きだけにおいては、 FileReader/ FileWriter の便利系クラスが用意され…
mvn archetype:generate だけで対話形式でプロジェクトを作成すると、 元となる archetype の選択に 2300 以上の選択肢が表示されてしまう。 生成時に、 archetypeArtifactId を指定することで、回避することができる。 コマンドラインツールを作成する時 ma…
自分のコードに jar ファイルを組み込む場合は、 jarファイル内からクラスファイルを探す必要があるため、クラスパスを指定する必要がある 1. コンパイル foo.jarファイルのクラスを検索する $ javac -cp foo.jar App.java → App.java ファイル内で、foo.ja…
jetty:run で起動しても以下のWARNINGが表示されて、プラグインのインストールに失敗することでハマってしまったのでメモに残す。 $ mvn jetty:run [WARNING] The POM for org.eclipse.jetty:jetty-maven-plugin:jar:9.4.15-SNAPSHOT is missing, no depende…