Monday, December 5, 2016

Alfresco Community 5.1, 5.2でalfresco-sdkを使ってmavenビルドする際の注意点

こんにちは。大谷です。

先日Alfresco Community 5.1.gでビルド環境を作る際にハマりポイントがあったので、備忘代わりにブログエントリをば。

バージョン番号が違う?


「Alfresco SDK 2.2でJARパッケージの拡張モジュールを作る」などのエントリを参考にしてalfresco-sdkベースのmavenビルド環境を作ったのですが、おなしな状況が発生しました。

pom.xmlの alfresco.version 5.1.g(記事執筆現在の最新のGA版)として、 mvn integration-test -Prun でカスタムモジュールのビルドとテストサーバ起動を行いました。いざ http://localhost:8080/alfresco/ にアクセスしてみると、なんかバージョン番号がおかしい…なんと「Community - 5.2.0 (r128301-b8)」と表示されました。
5.1.gと指定してビルドしてるはずなのに何故か5.2.0...

念のためインストーラインストールの5.1.g(201605-GA)を確認すると「Community - 5.1.0 (r127059-b7)」と表示されるので、mavenビルド環境に何か問題がありそうです(なお、schema番号も10,003と10,001で異なります)。

原因と解決方法は…


Alfrescoのドキュメントをよく読んでみると、原因と解決方法が書いてありました。結論から言うと、alfresco.warのartifactIdが変わったことが原因でした。

Alfresco Documentationのこの記事によれば、Alfresco Community 5.1.e以降ではalfresco.warのartifactIdが旧来の"alfresco"から"alfresco-platform"に変わったようです。pom.xmlのpropertiesタグ内に <alfresco.repo.artifactId>alfresco-platform</alfresco.repo.artifactId> と追記することで対応できます。

    <properties>
        <!-- The following are default values for data location and Alfresco Community version.
             Uncomment if you need to change (Note. current default version for Enterprise edition is 5.0.1)
-->
          <alfresco.version>5.1.g</alfresco.version>
          <alfresco.repo.artifactId>alfresco-platform</alfresco.repo.artifactId>
<!--
          <alfresco.data.location>alf_data_dev</alfresco.data.location> -->

        <!-- This control the root logging level for all apps uncomment and change, defaults to WARN
            <app.log.root.level>WARN</app.log.root.level>
        -->

        <!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties
             for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info.
        <env>local</env>
        -->
    </properties>

pom.xmlの設定を上記のように変更してリビルドすると、以下のように5.1.gの適切なバージョン番号 が表示されるようになるかと思います。

5.1.gの場合の正しいバージョン番号はこれ

5.1系、5.2系でalfresco-sdkを使って開発を進める際にはご注意ください。

No comments: