CodeでJavaの開発環境構築をやってみる。拡張機能ビューを開く。Pack」をインストールする。単純なソースを書いて保存。右下の言語モードの選択でJavaを選択すると、Javaのハイライトが行われるようになる。Textとなっている。F5を押した時はlaunch.jsonというファイルが作成されるだけなので、2回押す必要がある。World!と表示されたことが確認できた。行番号の左横をクリックすることでブレイクポイントも置ける。プログラミング2018年10月22日月曜日PostgreSQLにおけるスキーマの定義変更スキーマの定義変更方法。忘れてしまうのでメモしておく。[newname]nameが既存のスキーマ名で、newnameが新しいスキーマ名。スキーマの所有者変更。[newowner]nameが所有者を変更したいスキーマ名で、newownerが新しい所有者のロール名。スキーマの所有者を変更はスーパーユーザーでないと出来ない。プログラミング2018年10月21日日曜日jarの依存関係をjdepsで調べるJDK8からjdepsというjarとかclassの依存関係を調べてくれるツールが付属している。自分で作ったものならいいのだが、いまどきのシステム開発は自前ですべてをそろえるなんていうことも少ないだろう。どっかからライブラリを持って来たりすると思う。これも当初の開発メンバーがいなって1年以上なんてことになると、ライブラリの依存関係が分からなくなってしまうことがある。動いているものはほうっておくという考え方もあるのだが、整理したいなんて言い出す人もいるものだ。そんなときにjdepsを利用すると簡単に依存関係を調べてくれるので便利だ。helloworld.jarこのコマンドだけで指定したjarの依存関係を調べてくれる。半角スペースで区切って複数のjarを指定することもできる。jarだけでなくclassの指定も可能だ。helloworld.classクラスの場合、半角スペース区切りで複数指定することもできるけれど、ワイルドカードも使えるのでこちらのほうが便利だ。*.classなぜだか分からないが、ワイルドカードはjarでは使えない。出力結果は下記のようなる。java.baseこの例だとhelloworld.jarはhellodependencyに依存しているということが分かる。依存関係が分からないときは「見つかりません」と表示される。java.base指定されたjarやclassの中に依存関係にあたるjarやclassが含まれていないとダメなのだ。有効な解決手段は見つからなかった。言っても、参照ライブラリにあたるjarはひとまとめのディレクトリに保管してあると思うので、そのディレクトリにあるjarをすべて指定すればきっと依存関係は判明するはずだ。カレントスキーマの切り替えPostgreSQLにおけるカレントスキーマの切り替え方法。使わないものだから、忘れてしまって使うたびに調べなおしてしまっている。このSQLでスキーマの切り替えを行うことができる。fooのところに切り替え後のスキーマ名を指定する。fooちゃんと切り替わったかどうかはこのSQLで確認できる。プログラミング2018年10月20日土曜日EclipseでTomcatのタイムアウト時間の変更方法EclipseでのTomcatのタイムアウト時間の変更方法。サーバービューを開いて、Tomcatをダブルクリック。タイムアウト欄の開始の値を変えることでTomcatのタイムアウト時間を変更することができる。プログラミング2018年10月10日水曜日AntによるJARの作成AntによるJAR作成方法。HelloAntというプロジェクトをAntを使ってJARを作成までを行う。build.xmlbuild.xmlがAntのビルド設定のファイル。各ファイルの内容は下記の通り。helloant.Mainマニフェストにはメインクラスを記載しておく。</target></project>Antのビルド定義はXMLで書いていく。外側がprojectタグ。このタグはname、default、basedirの3つの属性を持っている。nameはプロジェクト名。defaultはデフォルトで動作するtarget。targetについては後述する。最後のbasedirがパス計算を行うときのベースディレクトリ。projectタグの中にはひとつ以上のtargetタグを定義する。このタグはビルドプロセスのひとまとまりを定義するもの。色々な属性を持っているけれど、今回使用したのはname、depends、descriptionの3つ。nameはtargetの名前で、任意につけられる。dependsはtargetの依存関係を示す。depends="compile"が設定されているので、「3.コンパイルの実行」に依存していることが分かる。依存関係を指定しておくことで、Antが勝手に解釈して必要なtargetを実行してくれる。descriptionはtargetの説明を記述する、コメントのようなもの。「1.定数の定義」のところでbuild.xml全体で使用する定数を指定している。name属性に定数名、valueに値を設定する。「2.初期化処理」でビルド前の初期化処理を行っている。この例ではコンパイルした資源の削除を実行するようにしている。「3.コンパイルの実行」ではソースのコンパイルを行っている。mkdirタグでコンパイル結果を格納するフォルダの作成を実行。javacタグではsrcdir属性で指定したソースコードをコンパイルし、destdirへ結果を出力するようになっている。includeAntRuntime属性はAntランタイムライブラリをクラスパスに含めるかどうかの設定を行っている。ちなみにfalseを設定することが推奨されていて、未指定だとAnt実行時にwarningが発生する。「4.JARの作成」で実際にJARの作成を行っている。jarタグのdestfile属性でJARファイル名を指定。basedirでJARに含める資源を指定。manifestでマニフェストを指定する。今回は実行可能JARを作成したいのでマニフェストを指定しているが、普通のJARを作るだけなら指定する必要はない。これでAntを実行すればJARの作成が行われる。Eclipseでみると以下のような構成になっているはず。チェックを入れて実行。HelloAnt/targetフォルダにJARが作成されているので、以下のコマンドを実行して、実行可能JARの作成が正常に行われていることを確認。Yamazaki株式会社アクティアで働くプログラマ。