Groupsession の開発環境を Visual Studio Code で構築しよう、っていうことで記事を書いたのですが、構築のための準備編で終始してしまいました。

今回はその続きを紹介したいと思います。

 

 

GroupSession のソースを Visual Studio Code で開く

GroupSession のソース取得と展開

GroupSession のソースを本家サイトよりダウンロードしてきます。

ダウンロードできるファイルが3種類あると思いますが、必要なのは一番下にある「gsession_srg.zip ※ソース」となっている分です。

GroupSession 最新バージョンダウンロード

GroupSession 最新バージョンダウンロード

 

適当な場所でいいので、gsession_src というフォルダを作成し、その中に gsession_srg.zip から展開したファイルを入れておいてください。

仮にこのフォルダが D:\work\java\gsession_src とすると、このような感じになっているはずです。

GroupSesshon 展開後

GroupSesshon 展開後

 

Java プロジェクトの新規作成

次に、Visual Studio Code を開いて、Java プロジェクトを新規に作成します。

Visual Studio Code を開いたら、[ctrl]+[shift]+[p] としてコマンドパレットを開き、Java: Create Java Project と入力し [Enter] キーを押してください。

Java プロジェクトを新規作成する

Java プロジェクトを新規作成する

 

続いて、プロジェクトのタイプ(ビルド環境)は、No build tools とします。

Java プロジェクトの新規作成: ビルドツールの選択

Java プロジェクトの新規作成: ビルドツールの選択

 

次にプロジェクトフォルダの作成先を指定します。

[フォルダーの選択] ダイアログが出てくるので、今回の例だと D:\work\java を開いた状態で、[Select the project location] をクリックします(D:\work\java\gsession_src のフォルダではありません)。

Java プロジェクトの新規作成: プロジェクトの場所を選択

Java プロジェクトの新規作成: プロジェクトの場所を選択

 

最後に、プロジェクト名の入力を促されるので、gsession と入力して、[Enter] キーを押して適用します。

Java プロジェクトの新規作成: プロジェクト名を入力

Java プロジェクトの新規作成: プロジェクト名を入力

 

これで、D:\work\java\gsession が作成されました。

ここまでで、以下のようになっていればOKです。

Visual Studio Code: Java プロジェクト作成後

Visual Studio Code: Java プロジェクト作成後

 

Java 言語モードの確認

ここで、サイドバーにあるナビゲーションツリーの src のディレクトリ内にある App.java をクリックすると、エディタ内にソースが開かれて表示されると思います。

App.java を開く

App.java を開く

すると、しばらくしてからウィンドウの右下に、次のように Opening Java Projects というポップアップが表示されます。

Java プロジェクトを開いています

Java プロジェクトを開いています

これは、Visual Studio Code が、このファイルを Java プロジェクト内の Java ソースであることを認識して、Java プログラムに特化したモードに移行していることを示しています。

無事に Java モードが起動できると、次の画面のように、サイドバーに JAVA PROJECTS と表示されたブロックが現れ、App.javamaim メソッドの上には Run|Debug という表示が増え、Window右下には、Java モードであることを示す、Java の文字が現れています。

Visual Studio Code: Java モード

Visual Studio Code: Java モード

 

もし、上記のように Java モードに入らない場合、前回の記事で触れている Java 開発環境の構築を参考に、公式のドキュメントも交えて再度確認する必要があります。

 

ソースファイルの移動

ここまで来たら、プロジェクト内の lib bin src の各ディレクトリは必要ないので、削除してゴミ箱に捨ててしまいましょう。ただし、.vscode のディレクトリと、その下にある settings.json だけは残しておいてください。

そして、先に gsession_src の中に展開していたファイルとディレクトリ群をすべて gsession に移動します。

移動後は以下のようになっているはずです。

ソースファイルを移動した結果

ソースのファイルを移動した結果

 

ライブラリパスとソースパスの追加

ライブラリパスの追加

ここからは、Visual Studio Code に、関連するライブラリへのパスと、ソースファイルのパス を全て教えて上げる必要があります。

まず、ライブラリパスの追加ですが、サイドバーにある JAVA PROJECTReferenced Libraries の右横にある file をクリックします。

そうすると「開く」 ダイアログが開くので、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

のようになっており、以下のようにプラグインディレクトリがたくさんあるのがわかります。

WEB-INF\plugin 内のディレクトリ

WEB-INFplugin 内のディレクトリ

そのそれぞれの 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! チュートリアルの実装をやってみたいと思います。

 

 


 

 

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です