NetBeansでProjectに使うサーバーを変える

簡単すぎて調べても見つからなかったのでメモ。良くこういうの忘れる。

やりたいこと

サーバーをGlassfishからPayaraに変えた。
今までGlassfish使ってたのでNetBeansに新しくPayaraを登録したのだけどProject実行した時のサーバーをどこで変えればよいのやら。

設定場所

Project右クリック > Properties
ダイアログメニューの Run にある Server を変える。

アプリ認証エラー(auスマートパス)

何かと不具合が多く、しかもそれを認識しながら放置しているauスマートパス。
今回も公式が助けてくれないので自力解決。
やっぱ解約すべきだな。

事象

先日から日本語入力するたびにATOKさんが認証エラー。
さらに本日乗換案内が認証エラーで起動しない事態に。
今すぐ電車乗るのに!!
※ちなみにただ電車調べるだけなら無料版オススメします。起動スピードが違いすぎる。

解決法

auマーケットのせいでした。
作業前に再起動したけど必要だったかは不明。

  1. 設定→アプリ→auマーケット
  2. データクリア、アップデートの削除
  3. 乗換案内を開くとauマーケット最新化しないと使えませんと怒られるので最新化
  4. インストール後にもう一度乗換案内を開くと少し時間がかかるけど無事認証成功
  5. ATOKも無事認証成功


(2014/12/20 追記)
ちなみにログインできない場合はau ID設定を疑ってみると良いかもです。
auスマートパスの不具合(犯人はau ID設定) - Така блог

NetBeansで日本語を入力すると落ちる

NetBeansの検索窓などで日本語を入力すると落ちる。
それはそれはサクッと。

(2014/10/18追記)
JDK8u25で解決しました。

少し古いものになりますが
Re: [nbdiscuss_ja] NetBeans のバグ? ATOK の? -- Ctrl+Z でエディタの表示が乱れる
という記事があったり
バグ報告:ATOKで入力中にエディタ全体が真っ白になる
という記事があったりでATOKのせいかと思いきや、NetBeansでバグ登録されていた。
Bug 246854 - NetBeans crashes when typing via input-method(IME) for input Japanese words.
MS IMEでも起こるようなのでATOKが原因ではなくJDK8u20が原因のよう。

バグとして登録された方のブログがこちら。条件ぴったり。
Windows 7、Java SE 8u20、NetBeans 8の組み合わせで落ちる
暫定対応としてJDK8u11にすることで回避できた。

なお、JDK8u11のインストールだけではNetBeansはJDK8u20を参照したままだったので、confファイルを編集する必要があった。

  1. NetBeansのインストールフォルダにあるetcフォルダを開く
  2. netbeans.confファイルをテキストエディタで開く
  3. netbeans_jdkhomeのパスを8u11のフォルダに変更する

参考:In NetBeans how do I change the Default JDK?

(2014/9/25 追記)
confファイル変えなくてもコマンドラインオプションでいけることを教えてもらいました。torutkさんありがとうございます。
元々AutoHotKey使ってショートカットキーからコマンドラインで起動してたのでありがたい。
ついでにスクリプト編集してどのJDK使うか選べるようにしました。便利ー。
サンプルは書くまでもないけど…。

C:\NetBeans\bin\netbeans64.exe --jdkhome "C:\Java\jdk1.8.0_11"

NetBeansでLombokが動かない(Maven Project)

lombokなる便利なライブラリを教えてもらったので早速NetBeansの依存性に追加してみたけど動かなかった話。

lombokとは

いわゆるBeanは通常privateなフィールドを作ってgetter/setterを作る。
多分一般にIDEの自動生成を使うと思う。
フィールドが増えたら増えた分だけ生成するとかね。
lombokはこの自動生成すら不要になる便利+ソース見やすい!
他にも色々機能あるけど一番簡単なのがコレ。classに@Dataつけるだけというお手軽系ですよ。

PJに依存性を追加(Maven)

追加の手順は簡単。

  1. PJの依存性右クリック > 依存性の追加 で lombokを検索
  2. org.projectlombokの最新を追加

で、ちゃんとjarもインストールされて万々歳のはずが動かない!
privateフィールド2つを定義しただけのclassに@Data付けただけのテストクラスなのに!

確認すること

ネットで調べると色々出てくる。
maven-compiler-pluginが2.2以上じゃないとダメとか。(自分のは3.1だった)
lombokのバージョンによってはNetBeans7だとうまく動かないとか。(自分のは8だった)

解決編

Maven projectの場合は依存性にlombok-maven-pluginもいるみたい。
依存性に追加したらあっさり動きました。
maven-lombok-pluginという名前ひっくりかえっただけのもあるけどこっちは古いのしかないから互換性のために残してるのかな。

裁量労働制についての云々とか

非常に興味深い事件だったので地裁の判決文全文読みふけってしまった。
地裁判決が有名になったようで、控訴したのかどうかすらなかなか調べがつかず…。
結局のところ、控訴したようだけど特に判決に大きな変更はなかったようで、無料の判例データベースでは判決文が掲載されていなかった。無念。
地裁の結果は最高裁判所のデータベースにも載ってるのにね。

なお、第1078号2013年12月15日発行の労働判例付録によると確定となっているので上告はしなかった模様。

後でまとめるかもしれないのでメモメモ。

通称 エーディーディー割増賃金請求
一審 京都地裁 平21(ワ)2300
控訴審 大阪高判 平23(ネ)3329


それにしても、司法関係の情報はもうちょい検索しやすくならないもんかね。
膨大すぎて大変なのは分かるんだけど、いつまでに整備する計画とかあるんだろうか。

PDFを1つのPDFにしたい、更に2in1にしたい(Java)

ざっくりやりたいこと

色んなファイル形式で作った資料をまとめて印刷したいです。
保存するのに面倒だから印刷した紙のサイズは統一したい。

試行錯誤の結果

資料はWordだったりExcelだったりPowerPointだったりするけどPDFに統一。
さらに1つのPDFにまとめた。(PDFSAMを愛用している)

困っていること

資料によって大きさが違うんですよねー
A4の資料とA3の資料があると一度には印刷できない。
いや、できるけど結局印刷された紙がA4だったりA3だったりするわけで(当然だけど)面倒。

理想型

  • 紙のサイズは大きい方に合わせてA3にする
  • A3はそのままA3サイズとして印刷する
  • A4は縮尺は変えずにA3に2枚並べて印刷する

つまり、こんな感じ。
f:id:vostochnaya:20140601212515p:plain
p.1とp.2はA4、p.3はA3のPDFがある。
これをp.1とp.2を並べて1枚のA3にしたページと元のp.3で2枚のA3資料にしたい。

作ってみた

iText 5.5.0 を使用。 iText, Programmable PDF software | iText Software

A4 2ページをA3 1ページにするにはこんな感じ。
偶数の時に改ページせずに隣に並べるという荒技。
ちゃんとするならもう少しマシな判定を書く必要がある。

ここまでできたらA3の時はそのままとか追加して完成。

さらなる進化

人間欲しいものを手にすると更に良いものが欲しくなるもので…
縦と横も自動で判別してとりあえず全部A3にしてくれよ! と思ったりするのです。

縦向きと横向きが混ざってたりするとRotateする必要があります。
そうなるとaddTemplateの引数が厄介。説明してるところがあまり見つからない。
ただの90度回転ならともかく縮尺が1倍じゃなかったりすると途端に面倒になる。
こちらiText Tutorialに細かい仕様が載っているので助かりました。

また、同じ横向きでもPDFを作成するときに横向きだったものと、PDFSAMなどで回転したものはプロパティが異なるため注意が必要。
Adobe Readerで見ると違いが分からないから上手くいったりいかなかったりで嵌った。
例1)A3横の資料を作ってPDF保存 → PdfReader#getPageRotation = 0
例2)A3縦の資料を作ってPDF保存、PDFSAMで横向きに回転 → PdfReader#getPageRotation = 270

結論

資料は最初から印刷のことも考えて作るべき。

auスマートパスの不具合(犯人はau ID設定)

先月からauスマートパスが動かず。
といっても私はかなりのライトユーザーでATOKと乗換案内のためだけに入ってる鴨なのであまり気にしていなかった。

きっかけはスマートパスのPush通知。
通知を止めようとしたが認証通らず…
試行錯誤してたら乗換案内も使えなくなった。

ネットで検索→サポートに電話→auショップ持ち込み でも解決せず、ショップからは初期化を勧められる始末。なんてこった\(^o^)/

結局自力で解決…

現象

auマーケット or auスマートパスアプリを実行し、ブラウザを開く。
ログインでかんたんログインしようとする→au ID設定開いて画面→au ID設定開いて閉じる→ログインボタン押す→au ID設定開いて画面 (以下無限ループ)
なお、かんたんログインではなくIDとパスワードを直接入れるとログインできる。
ログイン後、マイアプリを開くとなぜか電波がないとか言われる

やったこと

  • 電源On/Off
  • au IDカード抜き差し
  • auマーケット初期化→最新に更新
  • auスマートパス初期化
  • ブラウザのキャッシュとCookieその他データクリア
  • 別ブラウザでチャレンジ
  • スマホからau ID解除
  • au IDパスワード変更
  • au ID設定の初期化

列挙してみると結構がんばっている(笑)

結論

au IDの初期化でOK。
設定→アプリ→au ID設定→アップデートの削除


無事復活しました。
auスマートパスで困ってる人多いようだけどサポートがあれじゃツラい。

(2014/10/21 追記)
別の現象が発生したのでこれで解決しない場合はこちらもお試しください。