都内SEのプログラミング勉強と雑記

2003年より都内でSEをしてます。業務システムをリプレイスし続けてきました。ここでは主にjavaやその周辺技術関連を紹介予定。

eclipseのビルド時に Errors running builder 'Integrated External Tool Builder' on project で失敗する場合の対処

新PC移行後、タイトルのエラーがeclipseでのJava Mavenプロジェクトビルド時に発生するようになりました。

f:id:object1985:20190111170151p:plain
eclipseビルド時エラー

旧PCは手元にないため差分比較できませんがおそらく以下(※)の症状のよう。
ビルド時に外部ツールのビルダーを使わない、ってことだと思うのですが何が該当していたんだろう。。。

とにかく該当プロジェクト > Properties > Buildersから
Integrated External Tool BuilderRemove することで解消。

f:id:object1985:20190111170322p:plain
eclipseビルド時エラー解消設定

(※)引用:stack overflowより stackoverflow.com

eclipseでサーバ起動時にコンソールログをクリアするとクラッシュする

f:id:object1985:20171010105750p:plain
もう記事タイトルそのまんまなのですが
eclipseでAPサーバ(IBM WAS Liberty)起動中に
コンソールログをキレイにしようとクリアボタンを押下すると即時eclipseクラッシュ。

MacBookAir(2013年頃購入)でも同様でしたのでOSは関係なさそう。

  • MacBook Pro(多分関係ない)
  • Mac Mojave 10.14.1(多分関係ない)
  • eclipse neon.3(多分関係ない)
  • Liberty17.0.0.1(多分関係ない)
  • eclipse.ini => Xms256m , Xmx1024m(これか?)

とりあえず(Xms512m , Xmx2048m)に上げました。
割り当てメモリでなんとかならないかな・・・

Oracle VM VirtualBox6.0でvdiが使えない?

f:id:object1985:20181227160923p:plain
Oracle VM VirtualBox 6.0

新しくMacBook Proを使い始めたのでOracle VM VirtualBoxの6.0を新しくインストールしました。
MacOSもMojaveで快適なVM生活を、と思いきや今まで利用していたvdiファイルが使えない。。。

ちょっと分からなかったのでアンインストール、
そして5.6.3を再度インストール。無事にvdiファイルが使えました。

f:id:object1985:20181227161231p:plain
Oracle VM VirtualBox5.6.3

こういうところ、弱いなぁ。

eclipseでAPサーバ利用時に強制終了された後、eclipseが動作しなくなった問題解決の1ケース

MacJava開発にeclipseを使っています。
こんな構成です。

Mac:Mojave 10.14
eclipse:Neon 4.6.3
WebSphere(Liberty):17.0.0.1

Liberty起動時にterminalからMavenJavaプロジェクトをビルドした後に
eclipseのウィンドウをアクティブにするとワークスペースのビルドが走りました。
ここまでは通常なのですが、体感10〜20秒ほどで突然落ちました。強制終了です。

その後再起動したのですがProgressに
「Initializing Java Tooling」「Initializing JavaScript Tooling」「InitRemoteEdit XXX」が表示されたまま
固まったように動きません。

f:id:object1985:20181105145802p:plain

関連があるのかないのか、Libertyを起動したまま強制終了しました。

ゾンビプロセスができてしまったか?と思いterminalで確認。

$ ps -ef|head -n 1;ps -ef|grep java
  UID   PID  PPID   C STIME   TTY           TIME CMD
  501 11930     1   0  9:59AM ??         4:45.30 /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/java -javaagent:/usr/local/Liberty/bin/tools/ws-javaagent.jar -Djava.awt.headless=true -Xms1024m -Xmx1024m -Dwas4d.error.page=localhost:2618/354578868 -jar /usr/local/Liberty/bin/tools/ws-server.jar defaultServer_2
  501 73713 73291   0  2:40PM ttys002    0:00.00 grep -E --color=auto java
$ 

#・・・なんかいる、いや、思いっきりいる[Liberty]。
#ということで削除します。

$ kill 11930
$ 

#どうも完全停止までに数秒(5〜10秒?)かかるようです。

$ ps -ef|head -n 1;ps -ef|grep java
  UID   PID  PPID   C STIME   TTY           TIME CMD
  501 11930     1   0  9:59AM ??         4:55.28 /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/bin/java -javaagent:/usr/local/Liberty/bin/tools/ws-javaagent.jar -Djava.awt.headless=true -Xms1024m -Xmx1024m -Dwas4d.error.page=localhost:2618/354578868 -jar /usr/local/Liberty/bin/tools/ws-server.jar defaultServer_2
  501 73747 73291   0  2:41PM ttys002    0:00.01 grep -E --color=auto java
$ 

# 強制終了できないのか?と早とちりし、kill -9していますが通常不要のようです。
# 待っていれば終了するかと思います。
$ kill -9 11930
-bash: kill: (11930) - No such process
$ 
$ ps -ef|head -n 1;ps -ef|grep java
  UID   PID  PPID   C STIME   TTY           TIME CMD
  501 73781 73291   0  2:41PM ttys002    0:00.00 grep -E --color=auto java
$ 

しかしeclipseは反応せず。
こちらも再起動します。
が、Progress進行中なので終了することもできず。
こちらはアクティビティモニタから強制終了しました。

f:id:object1985:20181105145822p:plain

この後にeclipseを再起動することで正常に動作させることができました。
以前はOS再起動していたので、それよりはましか・・・

ちなみにeclipse.iniは以下の設定です。

-Xms1024m
-Xmx1536m

大本の原因はメモリ不足とかその関連かな、と思っているのですが
どのアプリも必要。予算的に解決せず。

APサーバを利用されている方はeclipseの突然の強制終了では同じ事象になるかと思い投稿します。

Chrome70で次のタブ、前のタブを切り替えるショートカットが68までと同じに戻った!

これ本当に嬉しいです。

以前タブ切り替えのショートカットが変わってしまったと投稿しましたが tonaise.hatenablog.jp

68までと同じに戻りました。

・68,70
 command + { => 前のタブ
 command + } => 次のタブ
・69
 command + ` => 前のタブ
 command + { => 次のタブ

とても快適です。

Mac-Eclipse Neon で GlassFish をインストール

Mac-Eclipse NeonGlassFish をインストール

f:id:object1985:20181015114521p:plain

GlassFish を MacEclipse で使う必要があったのでインストール時のメモです。

Eclipse GlassFish Tools インストール

Eclipse マーケットプレイスを開き「GlassFish」で検索します。
下記の手順でダイアログを進め、完了後に Eclipse を再起動します。
その間に GlassFish 本体をインストールしましょう。

f:id:object1985:20181015112927p:plain f:id:object1985:20181015112933p:plainf:id:object1985:20181015112936p:plain

GlassFish 本体 インストール

GlassFisheへ飛び、ダウンロードページから落とします。
今回は GlassFish 4.1.2 - Web Profile (57.9MB)を落としました。
適当なディレクトリに解凍しておきます。

EclipseGlassFish サーバ作成

Servers ビューから右クリック等で「New > Server」
f:id:object1985:20181015112942p:plain

GlassFish を選択
f:id:object1985:20181015112946p:plain

GlassFish locaiton に 展開した GlassFish 4 のディレクトリ内の glassfish ディレクトリを指定します。
他、全てデフォルト値で進めます。(当然変更しても OK)
サーバーを開始すると、localhost:8080 デフォルトページ、localhost:4848 管理ページが表示される
f:id:object1985:20181015112949p:plain

サーバ起動

Servers ビューで GlassFish を選択し Start で起動します。
(アプリケーションがあればサーバに追加して起動)
f:id:object1985:20181015112954p:plain

サーバ開始後は以下で起動確認ができます。

git rebase時のコンフリクトで強制的に片方のブランチ内容を取り込む方法

f:id:object1985:20181002131746p:plain
git rebase時のコンフリクトを手修正やVSCodeなどを利用して解決もいいのですが、
ときにはめんどう。

そんなときにとる方法の紹介です。

コンフリクト解消手順の一例 rebase時など 一方を採用する

以下のように、checkout --ours と checkout --theirs を使い分ければ良い。

2つのブランチ間でコンフリクトしているファイル fileA.txt と fileB.txt があるとする

# fileB.txt をマージさせたブランチ側に合わせる場合
$ git checkout --ours fileA.txt
$ git add fileA.txt    # add を忘れずに

# fileA.txt を現在チェックアウトしているブランチ側の対応に合わせる場合
$ git checkout --theirs fileB.txt
$ git add fileB.txt

$ git commit

# pushでサーバへ

個人的にoursとtheirsが逆転しがちですが、なんとか覚えます。

follow us in feedly