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

スポンサードリンク

enum クラスの基本的な理解

“【Java8 くらい】Enum についてのお勉強。可能性を探る” の続きを読む

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

隠しディレクトリを Finder で開いて指定したいディレクトリを IntelliJ IDEA のディレクトリ指定ウインドウへとドラッグする

困ったこと

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 のディレクトリ指定ウインドウへとドラッグする

“【Mac】【IntelliJ IDEA】SDKMAN の Java を設定する方法” の続きを読む


スポンサードリンク

【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】Windows 環境で、Java 7 でプロジェクトをビルド、テストする方法を少し掘り下げる” の続きを読む

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

はじめに。やりたいこと

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

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

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

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

はじめに

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

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

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

【Ansible】SDKMAN! で Oracle Java インストール時のキーボード入力待ち状態に expect モジュールで対処する

まとめ

  • Ansible の expect モジュールを使用する。
    • pip – Manages Python library dependencies. — Ansible Documentation
    • virtualenv、pip に依存するとあるが、pip のみのインストールで問題なかった。
    • pip は epel リポジトリの python-pip でインストールした。
    • pip がインストールされれば、ansilbe の pip モジュールが使用できるようになり、楽に pexpect をインストールできるようになった。
  • OpenJDK のときは対話処理するための質問文が表示されない。このときは expect は無視されるので Ansible の実行に影響なし。
  • expect モジュールの timeout デフォルト値は 30 秒のため、Java のインストールに間に合わずエラーとなった。したがって、1200 (60 秒 × 20 分) を設定した。
    • timeout 値を超える前にインストールが完了すれば次の処理へ進んだ。したがって、timeout には大きな値を入れておけば良い。

“【Ansible】SDKMAN! で Oracle Java インストール時のキーボード入力待ち状態に expect モジュールで対処する” の続きを読む

【Android Studio】Windows 7 32 bit でプロジェクト作成直後に発生する error=216 への対処

発生したエラー

タイミングは、アンドロイドアプリのプロジェクトを新規作成した直後でした。

Error:CreateProcess error=216, このバージョンの %1 は、実行中の Windows のバージョンと互換性がありません。コンピューターのシステム情報を確認して、プログラムの x86 (32 ビット) のバージョンと x64 (64 ビット) のバージョンのどちらが必要か確認してから、ソフトウェアの発行元に問い合わせてください。

“【Android Studio】Windows 7 32 bit でプロジェクト作成直後に発生する error=216 への対処” の続きを読む

【Windwos 7】Android Studio で使用する JDK バージョンアップ方法

JDK バージョンアップの手順

jdk1.7.0_75 から jdk1.7.0_79 へアップデートすると想定いたします。

  1. jdk で検索して、Java SE Development Kit 7 Downloads から最新版をダウンロード、インストールした。
  2. Windows のシステム環境変数 JAVA_HOME の値を修正
    C:¥Program Files¥Java¥jdk1.7.0¥75

    C:¥Program Files¥Java¥jdk1.7.0¥79
  3. Android Studio を起ち上げて、Close Project
    Configure > Project Defaults > Project Structure
    JDK location を修正
    C:¥Program Files¥Java¥jdk1.7.0¥75

    C:¥Program Files¥Java¥jdk1.7.0¥79
  4. 適当にプロジェクトを開き、File > Project Structure… で JDK location が「C:¥Program Files¥Java¥jdk1.7.0¥79」であることを確認
  5. もう不要なら、jdk1.7.0_75 をアンインストールする。

最後に不要なら古い JDK をアンインストールしておりますけれども、この判断基準は新しいバージョンで動作確認ができたら、とわたくしたちは決めていますの♪

“【Windwos 7】Android Studio で使用する JDK バージョンアップ方法” の続きを読む

【Android】【Java】継承専用にしたい Activity は abstract でクラス宣言する

ポイント

  • onCreate、onResume、onPause で必ず同じ処理を行う場合はそれらをスーパークラスにまとめたい。
  • しかし、このスーパークラスはアクティビティとして呼び出さないようにしたい。
  • そこで、クラス宣言を abstract で行う一方で、メソッドでは abstract を付けない通常の宣言を行う。
  • abstract でクラス宣言したアクティビティを起動しようとすると java.lang.InstantiationException と RuntimeException を発生させることができる。

onCreate、onResume、onPause で必ず同じ処理を行う場合とは?

“【Android】【Java】継承専用にしたい Activity は abstract でクラス宣言する” の続きを読む

【Java】【Android】DB アクセス周りのリファクタリングの実践ノート

1.はじめの状態

MainActivity の onCreate に直接 DB アクセスのプログラムを書いておりました。データベースから SELECT したレコードは、データクラスに格納しております。

2.メソッドへ抽出

MainActivity の onCreate に直接書いていた DB アクセスをメソッドに切り出し、抽出いたしました。

3.DB アクセスクラスの作成、メソッドをそこへ移動

“【Java】【Android】DB アクセス周りのリファクタリングの実践ノート” の続きを読む