カテゴリー
コンピューター

Gradle で Java からエクセルなどのファイルを扱う方法

まとめ

  • build.gradle で java プラグインを読み込む。
  • エクセルなどのファイルは src/main/resouces に置く。
  • Java ファイルでは、getClassLoader().getResourceAsStream(“aaaa/sample.xls”) などと書けばエクセルにアクセスできる。
  • getResourceAsStream メソッドの引数には、src/main/resources からの相対パスを記述する。

はじめに

Fisshplate でテンプレートに埋め込まれるのはゲッターメソッド – oki2a24 にて試行錯誤して学んだことを残します。

カテゴリー
コンピューター

Fisshplate でテンプレートに埋め込まれるのはゲッターメソッド

まとめ

  • Fisshplate – Fisshplate Home
  • Fisshplate のオブジェクトに POI のオブジェクトを渡してエクセルに反映する場合、反映のためにアクセスされるのは POI のプロパティではなく POI のゲッターメソッド
  • POI には、ゲッターメソッドさえあれば良い。プロパティはなくても良い。
  • POI のゲッターメソッド名が getAbcDef() の場合は、エクセルテンプレートの ${abcDef} に反映される。
  • oki2a24/testfisshplate: Fisshplate ライブラリの使い方、調査サンプルです に試した内容を置いた。
カテゴリー
Apple

【Gradle】Seasar の Fisshplate の依存を書くときには、repositories に maven の url を追加する必要がありました。

ポイント

  • Gradle で Seasar の Fisshplate を扱うときは、repositories に maven の url として、https://www.seasar.org/maven/maven2/ を追加する必要がある。
  • もちろんこれだけではダメで、通常使用する、jcenter() などの repositories も必要
カテゴリー
Apple

Mac の Visual Studio Code を SDKMAN での Java と連携して動作確認する設定メモ

VS Code で sdkman の Java を使えるようにする設定方法

やりたいこと

カテゴリー
コンピューター

gradle run 後、入力を受け付けるための build.gradle 設定

やりたいこと

  • gradle run してプログラムを実行後に、コマンドラインからの入力を受け付けるようにしたい

具体的には、次のような動きをさせることができました♪

oki2a24:java-abstract-factory-pattern-game-sample[master]$ gradle run

> Task :run 
Welcome to the guessing game, my secret number is between 1 and 100
Enter a number between 1 and 100
<<<=========----> 75% EXECUTING [5s]
Enter a number between 1 and 50
<<<=========----> 75% EXECUTING [9s]
Enter a number between 1 and 25
<<<=========----> 75% EXECUTING [14s]
Enter a number between 12 and 25
<<<=========----> 75% EXECUTING [25s]
Enter a number between 18 and 25
<=<=========----> 75% EXECUTING [31s]
Correct


BUILD SUCCESSFUL in 33s
2 actionable tasks: 1 executed, 1 up-to-date
oki2a24:java-abstract-factory-pattern-game-sample[master]$ 

Enter a number between 1 and 100

の後に、入力待ちにして、何かをキーボードから入力し、Enter を押したらプログラムを続行する、そんな動きです。

今回は、そのための設定をメモします。

カテゴリー
コンピューター

【Java8 くらい】Enum についてのお勉強。可能性を探る

enum クラスの基本的な理解

  • enum クラスは、複数の定数をまとめるのに役立つクラス
  • enum クラスに記述する各定数の呼び方いろいろ
  • 定数名と定数値を定義したいだけの場合ならば、無理して使用する必要はないと思う。
    • すべての定数で、定数名 = 定数値、ならばよいと思う。
    • 定数名と定数値が異なる場合、もちろん定義すればよいのだが、コンストラクタと定数値へアクセスするためのメソッドを定義しなければならなくなる。面倒
  • 1 つの定数に対して、定数値などを複数持たせたいとき、enum クラスが活躍する。
カテゴリー
Apple

【Mac】【IntelliJ IDEA】SDKMAN の Java を設定する方法

困ったこと

IntelliJ IDEA をインストールし、 Java プロジェクトを Gradle からインポートしました。

さてなにかを開発しようと思った矢先、使用する SDK を指定してねと言われます。

わたくしは、SDKMAN で Java をインストールしておりますので、JDK home path として /Users/oki2a24/.sdkman/candidates/java/current を指定しようとしました。

ところが、ディレクトリが表示されません><。

SDKMAN の Java は、~/.sdkman/ 以下にあります。

.sdkman は隠しディレクトリです。

すると、IntelliJ IDEA のディレクトリ設定時に指定できないのです><。

この困った問題をクリアしましたのでメモします。

IntelliJ IDEA のディレクトリ指定ウインドウで隠しフォルダを指定する方法まとめ

  • 隠しディレクトリを Finder で開いて指定したいディレクトリを IntelliJ IDEA のディレクトリ指定ウインドウへとドラッグする
カテゴリー
コンピューター

【Gradle】Windows 環境で、Java 7 でプロジェクトをビルド、テストする方法を少し掘り下げる

はじめに

の通りに設定しても、Windows 環境でエラーとなりました。

C:\Users\oki2a24\CompilingAndTestingJava7WithGradleInWindows>gradlew.bat build

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\oki2a24\CompilingAndTestingJava7WithGradleInWindows\build.gradle' line: 21

* What went wrong:
A problem occurred evaluating root project 'CompilingAndTestingJava7WithGradleInWindows'.
> There is no javadoc executable in C:\Program Files\Java\jdk1.7.0_80\bin. Expression: executable.exists()

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s

C:\Users\oki2a24\CompilingAndTestingJava7WithGradleInWindows>

修正内容と、その原因・理由をノートします。

また、修正したコードは次のリポジトリとしてアップしています。

修正のポイント

カテゴリー
コンピューター

【Gradle】外部の Java コードを Spock を使ってテストする環境を整える。

はじめに。やりたいこと

  • PC のあるところに置いてある Java プロジェクトのコードのユニットテストをしたくなった。
  • Java のファイルは移動したくない。
  • Spock 使いたい。

これを、Gradle を使って解決しましたので流れをノートいたします。

カテゴリー
コンピューター

【Windows】複数の jdk をインストールしたので java.exe と javac.exe を整理する

はじめに

  • Chocolatey で jdk8、jdk9 の順にインストールした。
  • さらに、インストーラで jdk7 をインストールした。

この状態ですと、有効な java バージョン、javac バージョンや JAVA_HOME は何なのか、わけがわからなくなってきますので、整理しました。