2014年8月5日火曜日

[DB]pg_restoreするときに’pg_restore: [archiver] input file is too short (read 0, expected 5)’が発生する

pg_dump -F cでダンプしたファイルをpg_restoreするときは-F cをつけないと題名のエラーが出る場合があります。 確認したバージョンはpg_dump、pg_restoreともに9.1.5です。

2014年1月7日火曜日

[Java]eclipseのクイック・フィックスを使って、serialVersionUIDがついていない全てのSerializable実装クラスにデフォルト・シリアル・バージョンIDを自動生成する

1. SuppressWarningsアノテーションを削除する

eclipse上で、次の文字列を正規表現で検索し、空白で置換する。

@SuppressWarnings\(\"serial\"\)\r\n 


2. serialVersionUIDがついていないクラスを見つける

eclipseの設定→Java→エラー/警告→潜在的なプログラミングの問題→serialVersionUID…、を「エラー」にしてしまう。(警告でもいいが、その方がより分かりやすいので)

これで、serialVersionUIDがついていないクラスが、「問題」ビューで「エラー」として確認できるようになる。(つまり、他にエラーがあると邪魔なので、そちらは対処すること)


3. クイック・フィックスのときに自動生成されるコメントを編集する


eclipseインストールデフォルトだと、コメントアウト行だけ自動生成時されてしまい、何のコメントも入らないので、何かコメントを入れたいときはこれをやっておく。

eclipseの設定→Java→コード・スタイル→コード・テンプレート→コメント→フィールド、で付けたいコメントに変更する。なお、これは他のフィールドにも影響があるので、終了後元に戻す。


4. クイック・フィックスする

「問題」ビューでserialVersionUIDが付いていないクラスを選択し、右クリック→クイック・・フィックスを選択する

「すべて選択」し、「デフォルト・シリアル・バージョンIDの追加」を選択する。これで、全てのSerializeble実装クラスにserialVersionUIDが付与される。

3.のコメントを元に戻して終了。


Eclipse 3.7 Indigo で上記手順、確認済み。