日々精進

新しく学んだことを書き留めていきます

IntelliJでビルドすると「Cannot start compilation: the output path is not specified for module・・・」エラー

原因はモジュールをビルドした時のビルド成果物を保存するパスが設定されていないため。 プロジェクト設定画面で以下を設定すると直った。

  • Module settings > Project > Project compiler output にoutと入力する
  • Modules > Paths > Inherit project〜 にチェックを付ける

Inherit project〜は何のことかと思ったら、プロジェクトの設定を使うよという意味だったのか。

参考:

stackoverflow.com

magic mouseを接続しようとすると、「ペアリングできませんでした」エラー

原因は不明だけど、以下の手順で直った。

システム環境設定>Bluetooth>マウスの横にあるペアリングボタンをクリック

システム環境設定>マウス からはどうしてもペアリングできなかったけど、システム環境設定>Bluetoothからはすぐにペアリングできた。謎。。

IntelliJでJava開発中にdebug windowで見られない変数がある

ライブラリのコードをデコンパイルしたコードの中に以下のようなコードがあり、変数eの中身が見られなかった。

        CsdlEntityContainerInfo e = this.provider.getEntityContainerInfo(containerName);
        return e != null?new EdmEntityContainerImpl(this, this.provider, e):null;

原因はコンパイラによって最適化されたため、元のコードと変数名が違っていることだった。 コンパイル前のコードは以下のようになっていた。

  CsdlEntityContainerInfo entityContainerInfo = provider.getEntityContainerInfo(containerName);
  if (entityContainerInfo != null) {
    return new EdmEntityContainerImpl(this, provider, entityContainerInfo);
  }

entityContainerInfoがeに変更されているとは。。entityContainerInfoならローカル変数の一覧に出ていた。 妙にスペースが少ないコードがあったら要注意だな。

プロジェクト参照の設定をbuild.gradle・settings.gradleにした後IntelliJからビルドするとNoClassDefFoundError

原因はIntelliJがgradleタスクをキャッシュするためだった。 メニューのView > Tool Window > gradleからgradle paneを開き、refreshボタンをクリックしたら直った。 gradleの設定を変更したら、refreshボタンをクリックしないといけないのか。。必ずしないといけないわけではないけど、 taskが増えたり減ったりしたらrefreshした方がいいっぽい。