LoginSignup
9
6

More than 3 years have passed since last update.

Eclipse+MavenからIntelliJ idea+Gradleに移行して困ったこと

Last updated at Posted at 2019-08-28

開発環境を渡されたのですが、いろいろ動いなくて:joy: 、そのときに試行錯誤したときのメモです。
Eclipse + Mavenおじさんが、IntelliJ idea + Gradle 大好き:heart_eyes:おじさんに変わっていったときのメモ

[Gradle]Gradleって事前にインストールする必要ないの?

必要ない

Windowsの場合は、gradew.bat を用いてインターネットから取得するため不要
つまり、職場の場合は、プロキシを記載しないと、ライブラリが取得されずビルドされない

大人数で開発すると、どうしてもMavenのインストールや環境変数でつまる人が出て、
問い合わせが殺到するが、そういったもの一切がなくなる。ほんとGradle素晴らしい:heart_eyes:

[Gradle]プロキシの設定はどこにすればよい?

gradlewとgradlew.batファイルを修正する
環境変数(set/export)ではなく、JVM_OPTSを記載する箇所があるので、こちらにプロキシを書く
コミットすればみんなプロキシにはまらない。すぱらい:heart_eyes:

# Add default JVM options here. You can also use JAVAこ_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS="-DproxyHost=proxy.co.jp -DproxyPort=8080 -Dhttp.proxyUser=**** -Dhttp.proxyPassword=**** -Dhttps.proxyUser=**** -Dhttps.proxyPassword=***"

[Gradle]pom.xmlに該当するのは何?

build.gradleファイルが該当する
記載方法が複数あり、混乱するが、コレばっかりは学習を積みかねて慣れるしかない:sweat_smile:

[Gradle]SNAPSHOTの最新が取得されない

SNAPSHOTは常に最新を取得するのがMavenの仕様となっているが、Gradleでビルドしても最新が落ちてこない:frowning2:
protoや、swaggerからModel/Stubを生成して、Nexusにアップロードすることはよくあるが、最新が取得されず発狂してました:rage:
ご丁寧にMavenの仕様を無視して24時間キャッシュする仕様だった

以下の内容をbuild.gradleに記載する。コメントはちゃんと残しましょう。

build.gradle
// ビルド時に、常に最新のSnapshotリポジトリを取得するようにする
// MavenはSnapshotは常に最新版を取得する仕様だが、Gradleは24時間経過したリポジトリのみ最新を取得する
configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

[IntelliJ]コードに変更を入れても、フォーマッターが走らない、自動でビルドが走らない

SaveActionプラグインを入れましょう
マクロで設定する記事が見つかったりしますが、エディタを破壊する恐れがあるのでやめましょう

まず、お仕事では、IntelliJにプロキシ情報の設定をします
Proxy.PNG

プラグインを追加します
SaveAction.png

プラグインの設定を追加します
pluginの設定.png

[IntelliJ]ショートカットキーがわからない

ストレスがたまるポイントですが、丁寧に学習&訓練していくしかないです。

目的 IntelliJ Eclipse
クイック・フィックス [Alt] + [Enter] [Ctrl] + 1
アウトラインの表示 [Ctrl] + O [Ctrl] + E
呼び出し階層 [Ctrl] + [Alt] + h [Ctrl] + [Alt] + h
定義へ移動 [Ctrl] + b F3
テストクラスへ移動 [Ctrl] + [Shift] + t [Ctrl] + 9

補足

InteliJのショートカットキーをEclipse風にすることもできます

[IntelliJ]コードを最新化しても、SpringBootに即座に反映されない

SpringBootのDevToolsを入れていても、コードの内容が即座に反映されない:frowning2:

IntelliJに自動ビルドの設定を追加

自動ビルドの追加.png

compiler.automake.allow.when.app.runningの設定

Help > Find Action... から、"Registry" を入力します

Registory.png

9
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6