null Alfresco SDK 4.5で開発環境を構築する方法

こんにちは。今回は現時点(2023年2月)の最新のSDKである4.5を使ってAlfrescoの開発環境を構築する手順をご紹介します。2022年9月にご紹介したSDK 4.4で構築する手順とほぼ同じ、というかSearch Serviceまわりのエラーを解消するために必要だった手順が4.5では不要になってむしろ簡単にすらなっているので必要ないかなとも思ったんですが、バージョンも上がっていることだし改めてご紹介することにしました。ちなみに、GitHubのREADMEの Important Notice about Version Numbers によると、Enterprise版やCommunity版の7.xをカスタマイズする場合はSDK 4.4以上を使う必要があるようです。

For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used

今回ご紹介する手順は基本的には以下のドキュメントに従っています。

Getting started with Alfresco SDK 4.x

 

準備

開発用のプロジェクトを作るためには、JDK11、Maven、DockerおよびDocker Composeのインストール/設定が必要です。

まずJDK11をインストールし、環境変数JAVA_HOMEを適切に設定します。インストールと設定が終わったら以下のコマンドで確認します。

java -version
echo $JAVA_HOME

次にMavenをインストールします(バージョンは3.3以上)。こちらも以下のコマンドでバージョンを確認します。

mvn -v

Dockerをインストールします。Docker ComposeがDockerのインストール時に一緒にインストールされていない場合は個別にインストールします。終わったら以下のコマンドで確認します。

docker -v
docker-compose -v

 

プロジェクトの作成

準備ができたら適当なディレクトリに移動し、以下のコマンドを実行してMaven Archetypeからプロジェクトを作成します。

mvn archetype:generate -Dfilter=org.alfresco:

ここからは対話形式で設定していきます。どのarchetypeを使用するか聞かれるので、

  • alfresco-allinone-archetype
  • alfresco-platform-jar-archetype
  • alfresco-share-jar-archetype

の3つ(以下の2, 4, 5)のいずれかを選択します。

Choose archetype:
1: remote -> org.alfresco.maven.archetype:activiti-jar-archetype (DEPRECATED - UNSUPPORTED - EXPERIMENTAL)
2: remote -> org.alfresco.maven.archetype:alfresco-allinone-archetype (Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR)
3: remote -> org.alfresco.maven.archetype:alfresco-amp-archetype (Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages))
4: remote -> org.alfresco.maven.archetype:alfresco-platform-jar-archetype (Sample project with full support for lifecycle and rapid development of Platform/Repository JARs and AMPs (Alfresco Module Packages))
5: remote -> org.alfresco.maven.archetype:alfresco-share-jar-archetype (Share project with full support for lifecycle and rapid development of JARs and AMPs (Alfresco Module Packages))
6: remote -> org.alfresco.maven.archetype:share-amp-archetype (Share project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages))
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :

Alfresco Platformのみカスタマイズする場合は 4. alfresco-platform-jar-archetype、Shareのみカスタマイズする場合は 5. alfresco-share-jar-archetype、両方の場合は 2. alfresco-allinone-archetypeを選択します。迷ったら 2. alfresco-allinone-archetype でよいと思います。ここでは2. alfresco-allinone-archetype を選択しておきます。

次に、どのバージョンを使用するか聞かれるので4.5.0を選択します。何も入力せずにEnterを押すとその時点の最新バージョン(以下の例では4.5.0を指定する18番)が自動的に選択されます。

Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
1: 2.0.0-beta-1
2: 2.0.0-beta-2
3: 2.0.0-beta-3
4: 2.0.0-beta-4
5: 2.0.0
6: 2.1.0
7: 2.1.1
8: 2.2.0
9: 3.0.0
10: 3.0.1
11: 3.1.0
12: 4.0.0-beta-1
13: 4.0.0
14: 4.1.0
15: 4.2.0
16: 4.3.0
17: 4.4.0
18: 4.5.0
Choose a number: 18:

最後に、groupIdやartifactIdといった情報の入力を求められるので適当に入力します。ここで入力したartifactIdが、プロジェクトのディレクトリ名やビルド時に作成されるJARファイルのファイル名として使用されます。

Define value for property 'groupId': jp.aegif.alfresco
Define value for property 'artifactId': my-all-in-one
[INFO] Using property: version = 1.0-SNAPSHOT
Define value for property 'package' jp.aegif.alfresco: :

入力内容が合っているか聞かれるので、問題なければYを入力します(何も入力せずEnterでも同じです)。Y以外を入力するとgroupIdの入力からやり直すことができます。archetypeの選択からやり直したい場合はCtrl+Cで終了して最初からやり直せば大丈夫です。

Confirm properties configuration:
groupId: jp.aegif.alfresco
artifactId: my-all-in-one
version: 1.0-SNAPSHOT
package: jp.aegif.alfresco
Y: :

「BUILD SUCCESS」と表示されたらプロジェクト作成完了です。

 

Buildして起動

最初にmvnコマンドを実行したディレクトリにartifactIdと同名のディレクトリ(ここではmy-all-in-one)が作成されているはずなのでそのディレクトリに移動します。

cd my-all-in-one

このディレクトリで、LinuxやMacでは

./run.sh build_start

Windowsでは

run.bat build_start

を実行すると、カスタマイズが適用されたAlfresco(厳密に言うとAlfrescoを動かすために必要なコンテナ群)が起動します。

起動したらブラウザで http://localhost:8180/share にアクセスして(portが8080ではなく8180なので注意)、ID/PWにadmin/adminと入力してログインできれば成功です。

以上、SDK 4.5で開発環境を構築する方法のご紹介でした。SDKに関する詳しい内容はこちらの公式ドキュメントに載っているので目を通してみると理解が深まるのではないかと思います。

関連記事
customize
customize
customize
install
customize

RANKING
2020.10.12
2020.11.19
2020.12.23
2020.10.05
2020.11.25