Groupsession の開発環境を Visual Studio Code で構築しよう、っていうことで記事を書いたのですが、構築のための準備編で終始してしまいました。
今回はその続きを紹介したいと思います。
GroupSession のソースを Visual Studio Code で開く
GroupSession のソース取得と展開
GroupSession のソースを本家サイトよりダウンロードしてきます。
ダウンロードできるファイルが3種類あると思いますが、必要なのは一番下にある「gsession_srg.zip ※ソース」となっている分です。
適当な場所でいいので、gsession_src
というフォルダを作成し、その中に gsession_srg.zip から展開したファイルを入れておいてください。
仮にこのフォルダが D:\work\java\gsession_src
とすると、このような感じになっているはずです。
Java プロジェクトの新規作成
次に、Visual Studio Code を開いて、Java プロジェクトを新規に作成します。
Visual Studio Code を開いたら、[ctrl]+[shift]+[p]
としてコマンドパレットを開き、Java: Create Java Project と入力し [Enter]
キーを押してください。
続いて、プロジェクトのタイプ(ビルド環境)は、No build tools とします。
次にプロジェクトフォルダの作成先を指定します。
[フォルダーの選択] ダイアログが出てくるので、今回の例だと D:\work\java
を開いた状態で、[Select the project location]
をクリックします(D:\work\java\gsession_src
のフォルダではありません)。
最後に、プロジェクト名の入力を促されるので、gsession と入力して、[Enter]
キーを押して適用します。
これで、D:\work\java\
に gsession
が作成されました。
ここまでで、以下のようになっていればOKです。
Java 言語モードの確認
ここで、サイドバーにあるナビゲーションツリーの src
のディレクトリ内にある App.java
をクリックすると、エディタ内にソースが開かれて表示されると思います。
すると、しばらくしてからウィンドウの右下に、次のように Opening Java Projects というポップアップが表示されます。
これは、Visual Studio Code が、このファイルを Java プロジェクト内の Java ソースであることを認識して、Java プログラムに特化したモードに移行していることを示しています。
無事に Java モードが起動できると、次の画面のように、サイドバーに JAVA PROJECTS と表示されたブロックが現れ、App.java
の maim
メソッドの上には Run|Debug という表示が増え、Window右下には、Java モードであることを示す、Java の文字が現れています。
もし、上記のように Java モードに入らない場合、前回の記事で触れている Java 開発環境の構築を参考に、公式のドキュメントも交えて再度確認する必要があります。
ソースファイルの移動
ここまで来たら、プロジェクト内の lib
bin
src
の各ディレクトリは必要ないので、削除してゴミ箱に捨ててしまいましょう。ただし、.vscode
のディレクトリと、その下にある settings.json
だけは残しておいてください。
そして、先に gsession_src
の中に展開していたファイルとディレクトリ群をすべて gsession
に移動します。
移動後は以下のようになっているはずです。
ライブラリパスとソースパスの追加
ライブラリパスの追加
ここからは、Visual Studio Code に、関連するライブラリへのパスと、ソースファイルのパス を全て教えて上げる必要があります。
まず、ライブラリパスの追加ですが、サイドバーにある JAVA PROJECT の Referenced Libraries の右横にある をクリックします。
そうすると「開く」 ダイアログが開くので、gsession\WEB-INF\lib
に移動して、そこにある *.jar
ファイルを全て選択し、[Select Jar Libraries]
をクリックします。
すると、下のように Referenced Libraries に先程の *.jar
が追加されている事がわかります。
同じようにして、
WEB-INF\convert\lib\jsp-api.jar
WEB-INF\convert\lib\servlet-api.jar
WEB-INF\build\lib\websocket-api.jar
も、ライブラリパスに追加します。
ライブラリの重複に注意 GroupSession 5.1.1 では、poi-ooxml が 3.7 と 3.11 の2つの jar ファイルがソースに含まれており、そのままでは一部に警告が出る場合があります。ライブラリパスから 3.7 を削除することで解消します(GroupSession 5.3.0 では重複はなくなっています)。 |
ソースパスの追加
GroupSession の Java ソースの場所は、
WEB-INF\plugin\{プラグイン名}\src
のようになっており、以下のようにプラグインディレクトリがたくさんあるのがわかります。
そのそれぞれの src
ディレクトリを右クリックして、[Add Folder to Java Source Path]
をクリックすることで、ソースパスを追加していくことができます。
このまま、一つ一つクリックして追加していっても良いのですが、さすがに追加すべきソースパスの多さに辟易としそうなので、ここで少しチートを使います。
プロジェクトのルートにある、先程削除しなかった .vscode
のディレクトリを開いてみると、その中に settings.json
というファイルがあります。
その中身はこんな感じになっています。
{
"java.project.sourcePaths": [
"src"
"WEB-INF/plugin/address/src",
],
"java.project.outputPath": "bin",
"java.project.referencedLibraries": [
"lib/**/*.jar",
"WEB-INF/lib/activation_1.1.jar",
"WEB-INF/lib/ant.jar",
"WEB-INF/lib/antlr-2.7.2.jar",
:
:
]
}
鋭い人はお気づきかと思いますが、先程のライブラリパスを追加すると、ここにそのパスの一覧が .json
ファイル内で java.project.referencedLibraries
というプロパティに配列として保存されるので、同様にソースパスも同じようにできるはずです。
まず、"java.project.outputPath": "bin",
の行は必要ないので削除します。
次に、"java.project.sourcePaths": [...],
の "src"
を消した上で、以下のようになるように編集しましょう。
というより、それすらも面倒な方は下の java.project.sourcePaths
の内容をそのままコピーして貼ってもよいかもしれません。
{
"java.project.sourcePaths": [
"WEB-INF/plugin/zaiseki/src",
"WEB-INF/plugin/webmail/src",
"WEB-INF/plugin/timecard/src",
"WEB-INF/plugin/smail/src",
"WEB-INF/plugin/schedule/src",
"WEB-INF/plugin/rss/src",
"WEB-INF/plugin/ringi/src",
"WEB-INF/plugin/reserve/src",
"WEB-INF/plugin/project/src",
"WEB-INF/plugin/portal/src",
"WEB-INF/plugin/nippou/src",
"WEB-INF/plugin/ipkanri/src",
"WEB-INF/plugin/help/src",
"WEB-INF/plugin/file/src",
"WEB-INF/plugin/enquete/src",
"WEB-INF/plugin/common/src",
"WEB-INF/plugin/circular/src",
"WEB-INF/plugin/chat/src",
"WEB-INF/plugin/bulletin/src",
"WEB-INF/plugin/bookmark/src",
"WEB-INF/plugin/api/src",
"WEB-INF/plugin/anpi/src",
"WEB-INF/plugin/address/src",
"WEB-INF/plugin/mits/src"
],
"java.project.referencedLibraries": [
"WEB-INF/lib/activation_1.1.jar",
:
:
ただ、settings.json
にパスを追加して保存したからと言って、すぐに反映されない場合があります。
その時は、JAVA PROJECTS の右端にある、三点リーダー(…
)をクリックして、Clean Workspace
することで、ワークスペース(のキャッシュ)を一旦クリーンにして、Java Language Server をリロードさせることができます。
これは、コマンドパレットで Java: Clean Java Language Server Workspace で実行しても同じ意味になります。
すると、
"Are you sure you want to clean the Java language server workspace?"
というポップアップが表示されるので、[Reload and delete]
をクリックします。
次回:実行環境の構築と HelloWorld!
結局今回も、HelloWorld! の実装まで到達しませんでしたが、ひとまず開発環境としてはほぼ出来上がってきた状態になりました。
次回は、Apache Tomcat でも実行環境の構築と、今度こそ HelloWorld! チュートリアルの実装をやってみたいと思います。
0件のコメント