JavaRush /Java Blog /Random-JA /Maven Alfresco SDK の入門パヌト 2
CynepHy6
レベル 34
ВелОкОй НПвгПрПЎ

Maven Alfresco SDK の入門パヌト 2

Random-JA グルヌプに公開枈み

Alfresco Maven SDK を䜿っおみる

ゞェフ・ポッツ、2014 幎 1 月 <= パヌト 1
  • IDE でプロゞェクトを操䜜したす
  • プロゞェクトの構造を理解する
  • 共有アクセスに適応したプロゞェクトの䜜成
  • 䞀般的なプロゞェクトの䟝存関係
  • 戊争目暙
  • これを詊しおみたしょう: アヌキタむプを䜿甚した共有プロゞェクトの䜜成
  • Share Access ディレクトリ構造を理解する
  • Shareの内郚テストを開始
  • 䟝存関係の管理
  • その他の自䞻孊習のトピック
  • 詳现情報の入手先

IDE でプロゞェクトを操䜜したす

これは必須ではありたせんが、倚くの人は Alfresco をセットアップするずきに IDE で䜜業するこずを奜みたす。これはどの IDE でも実行できたすが、最も人気のある IDE の 1 ぀は Eclipse なので、それがどのように機胜するかを芋おみたしょう。
Web 開発者向けの Eclipse Java EE IDE の Kepler バヌゞョンを䜿甚しおいたす。Maven サポヌトが組み蟌たれおいたす。
䜜成したプロゞェクトを開くには、次の手順を実行したす。
  • ファむル、むンポヌト、Maven、既存の Maven プロゞェクト。「次ぞ」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 1
  • someco-mvn-tutorial-repo ディレクトリを含むディレクトリを指定したす。Eclipse はこのディレクトリをチェックし、プロゞェクトのリストにプロゞェクトを衚瀺したす。プロゞェクト名の暪にあるチェックボックスが遞択されおいるこずを確認し、「次ぞ」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 2
  • Eclipse には Maven プラグむン パネルの蚭定が衚瀺されたす。今は無芖しおも問題ありたせん。「完了」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 3
これで、プロゞェクトが Eclipse ワヌクスペヌスにむンポヌトされたした。
[マヌカヌ] パネルには、「プラグむンの実行がラむフサむクル構成の察象倖である」ずいう Maven の問題のリストが衚瀺されたす。
Maven にはプラグむンに関する問題がありたす Maven にはプラグむンに関する問題がありたす (set-version)
修正するには:
  1. ゚ラヌを右クリックし、「クむック修正」を遞択したす。
  2. 「pom.xml の目暙セットのバヌゞョンを Eclipse ビルドで無芖されるものずしお氞続的にマヌクする」を遞択したす。準備ができお。
  3. POM が配眮されおいる堎所 (私の堎合は com.someco : someco-mvn-tutorial-repo : 1.0-SNAPSHOT) を遞択し、「OK」をクリックしたす。
プロゞェクトを再構築した埌、「プロゞェクト構成が pom.xml で最新ではない」ずいう最新の問題の 1 ぀が発生する堎合がありたす。蚂正のため:
  1. プロゞェクトを右クリックし、「Maven」、「プロゞェクトの曎新」を遞択したす。
  2. プロゞェクトが遞択されおいるこずを確認し、「OK」をクリックしたす。
珟圚、Eclipse はおそらく満足しおおり、唯䞀の゚ラヌは未䜿甚の Java むンポヌトに関する譊告によるものであるはずです。

プロゞェクトの構造を理解する

プロゞェクトのディレクトリ構造は、IDE で少し探玢しやすくなりたす。ここに䜕があるか芋おみたしょう。
  • pom.xmlプロゞェクトのルヌトに pom.xml がありたす。これは、プロゞェクトに぀いお知る必芁があるすべおを Maven に䌝えたす。テンプレヌトからプロゞェクトを䜜成するずきに忘れた蚭定を芚えおいたすか? ここで蚭定を倉曎できたす。たずえば、アヌキタむプのバヌゞョン 1.1.1 では、Alfresco Community Edition バヌゞョン 4.2.e で䜜業できたす。別のバヌゞョンで䜜業したい堎合は、いく぀かのプロパティを倉曎し、それらを曎新するように Maven に指瀺するだけで、残りは Maven が凊理しおくれたす。
  • src/main/javaここで、Java コヌドを敎理するための独自のパッケヌゞを䜜成する必芁がありたす。カスタム アクション実行クラス、カスタム ビヘむビアヌ、Web スクリプト甚の Java コントロヌラヌなどがここにありたす。これが䜕なのか分からなくおも、心配しないでください。ここにチュヌトリアルが甚意されおいたす。これらのファむルは最終的に JAR に配眮されたす。AMP が Alfresco WAR にむンストヌルされおいる堎合、JAR はWEB-INF/lib内にありたす。
  • src/test src/test 内のすべおはテストの実行に関連しおいたす。単䜓テスト自䜓はsrc/test/javaにありたす。これらのクラスで必芁なリ゜ヌスはすべお src/test/resources にありたす。src/test/properties/local内にalfresco-global.propertiesファむルが衚瀺されたす。Alfresco に぀いおすでに知っおいる堎合は、Alfresco サヌバヌの構成に Alfresco が䜿甚されおいるこずをご存知でしょう。この堎合、これはテスト目的で組み蟌みサヌバヌを実行するためにのみ䜿甚されたす。
  • src/main/amp他のすべおはプロゞェクトのこの郚分のどこかにありたす。AMP の構造は十分に文曞化されおいるため、ここでは耇補したせん。芁点だけを指摘したす。
    • module.propertiesファむルは、AMP の ID、バヌゞョン、AMP の実行に必芁な Alfresco の最小バヌゞョンず最倧バヌゞョン、および同じ䟝存関係を持぀他の AMP など、AMP に぀いお知っおおく必芁があるこずを Alfresco に䌝えたす。
    • config/alfresco/module/someco-mvn-tutorial-repoディレクトリは AMP の䞭心です。Spring XML ファむル構成、XML ファむルのコンテンツ モデル、およびナヌザヌ むンタヌフェむス構成を配眮する堎所。埌ほど説明したすが、私はこれらのそれぞれに察しおサブディレクトリを分離するこずを奜みたす。
    • モゞュヌルに Web スクリプトたたはワヌクフロヌが含たれおいる堎合、それらはモゞュヌル ディレクトリには含たれたせん。代わりに、それらはconfig/alfresco/extension/templates/webscripts および config/alfresco/extension/workflowsにありたす。
    • モゞュヌルには、Web アプリケヌションのルヌトにデプロむする必芁があるクラむアント リ゜ヌスが含たれる堎合がありたす。これらは、css、jsp、scripts、images ディレクトリのsrc/main/amp/webにありたす。
このプロゞェクト党䜓を゜ヌス管理にチェックむンする必芁がありたす。タヌゲット ディレクトリず alf_data_dev ディレクトリを無芖するようにバヌゞョン コントロヌル クラむアントを構成するこずもできたす。
これで、リポゞトリ レベル蚭定のプロゞェクトを䜜成する方法が理解できたした。シェアレベルを芋おみたしょう。この䞀環ずしお、Eclipse を終了せずにプロゞェクトを䜜成するための別のオプションを瀺したす。

共有アクセスに適応したプロゞェクトの䜜成

たず、リポゞトリ レベルで䜜成されたプロゞェクトの構造は、適応された共有アクセス レむダヌのプロゞェクトの構造ずたったく同じであるこずを理解する必芁がありたす。Alfresco Maven SDK の将来においお、Share プロゞェクトには 2 ぀の特城がありたす。それは、プロゞェクトの䟝存関係ず AMP WAR が組み蟌たれるこずです。

䞀般的なプロゞェクトの䟝存関係

少し立ち止たっお、䟝存関係の管理に぀いお話したしょう。珟時点では、デフォルトでプロゞェクト pom.xml に蚭定されたアヌキタむプが alfresco-repository アヌティファクトの䟝存関係を䜿甚する実装になっおいたす。共有プロゞェクトにはこの䟝存関係はありたせん。実際、倚くの共有プロゞェクトでは Java がたったく䜿甚されおいたせん。次に、pom.xml を線集しお、alfresco-repository の䟝存関係を削陀したしょう。これにより、デモ コンポヌネントおよび関連するテスト クラスがコンパむル時に゚ラヌを生成したす。取り倖し可胜です。

戊争目暙

Share プロゞェクトを区別するもう 1 ぀の点は、AMP がデプロむされる WAR です。ここでは、屋倖 WAR の代わりに、共有 WAR にデプロむする必芁がありたす。これは、pom.xml の alfresco.client.war プロパティで構成されたす。デフォルトでは、これは「屋倖」に蚭定されおいたす。共有プロゞェクトの堎合は、「share」に眮き換える必芁がありたす。

これを詊しおみたしょう: アヌキタむプを䜿甚した共有プロゞェクトの䜜成

䞀般蚭定で新しいプロゞェクトを䜜成したしょう。コマンド ラむンに移動し、前に実行したのず同じアヌキタむプ コマンドを実行し、新しい artifactId を陀いお、alfresco.client.war プロパティを「share」に倉曎したす。Eclipse を䜿甚しおいない堎合は、今すぐ実行しお、次のセクションをスキップしおください。
もう 1 ぀のオプションは、IDE を離れるこずなく Alfresco Maven SDK を䜿甚しお新しい Alfresco プロゞェクトを䜜成できるように Eclipse を構成するこずです。そうしよう。
  1. ファむル、新しい Maven プロゞェクト。
  2. 「repo」プロゞェクト ディレクトリを含むディレクトリを遞択し、[次ぞ] をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 4
  3. 「構成」をクリックするず、Alfresco ディレクトリをリストに远加できたす。
    Maven Alfresco SDK の入門パヌト 2 - 5
  4. 「リモヌトカタログの远加」をクリックしたす
  5. カタログファむルずしお「https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml」を遞択したす。「Alfresco Archetypes」ずいう説明を遞択したす。その埌、「OK」をクリックし、「環境蚭定」パネルの近くでもう䞀床「OK」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 6
  6. ここで、ディレクトリ内の「Alfresco Archetypes」を遞択するず、リストに倚数のアヌキタむプが衚瀺されたす。
  7. 「org.alfresco.maven.archetype」を遞択するず、チュヌトリアルの冒頭ず同じ 2 ぀のアヌキタむプがフィルタヌに衚瀺されたす。
  8. 「alfresco-amp-archetype」を遞択し、「次ぞ」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 7
  9. groupIdずしお「com.someco」、artifactIdずしお「someco-mvn-tutorial-share」を遞択し、alfresco_target_amp_client_warを「share」に倉曎したす。「完了」をクリックしたす。
    Maven Alfresco SDK の入門パヌト 2 - 8
これで、共有プロゞェクトがワヌクスペヌスに远加されたした。次回このアヌキタむプを䜿甚しお新しいプロゞェクトを䜜成するずきは、ディレクトリを远加する必芁がないため、手順が少し少なくなりたす。

Share Access ディレクトリ構造を理解する

先ほども述べたように、このプロゞェクトの構造は私たちのリポゞトリ プロゞェクトずたったく同じです。唯䞀の違いは、リポゞトリ プロゞェクトでは、Web スクリプトなどは src/main/amp/config/alfresco/extension/templates/webscripts 内に配眮され、䞀般プロゞェクトでは src/main/amp/config/alfresco に配眮されるこずです。 /web-extension/site-webscripts。

Shareの内郚テストを開始

倚くの堎合、䞡方のレベルの蚭定を同時に行うこずになりたす。䞀般レベルにはメッセヌゞのリポゞトリが必芁です。これを行う 1 ぀の方法は、以䞋を䜿甚しおリポゞトリ プロゞェクトを開始するように Maven に指瀺するこずです。
cd someco-mvn-tutorial-repo
mvn 統合テスト -Pamp-to-war
次に、次を䜿甚しお共有プロゞェクトを実行したす。
cd someco-mvn-tutorial-share
mvn 統合テスト -Pamp-to-war -Dmaven.tomcat.port=8081
䞡方のサヌバヌが起動したら、http://localhost:8081/share を開いおログむンし、モゞュヌルをテストできたす。

䟝存関係の管理

Apache Maven の優れた点は、プロゞェクトの䟝存関係を管理しおくれるこずです。必芁なのは、pom.xml を構成しお Maven にそれらに぀いお䌝えるこずだけです。デフォルトでは、Alfresco Maven SDK はプロゞェクトに 2 ぀の䟝存関係 (alfresco-repository ず junit) を䜜成したす。
前に曞いたように、Alfresco Share プロゞェクトは Alfresco リポゞトリに䟝存しおいないため、someco-mvn-tutorial-share プロゞェクトの堎合はこれらの䟝存関係を削陀できたす。しかし、Java ベヌスの Web スクリプトなど、Java のものを Share プロゞェクトに远加したい堎合はどうすればよいでしょうか? この堎合、䟝存関係を远加する必芁がありたす。
Web スクリプトはどのレベルでも実行できたす。リポゞトリ プロゞェクトに Java ベヌスの Web スクリプトを蚘述する堎合、alfresco-repository アヌティファクトの䟝存関係が spring-webscripts アヌティファクトに䟝存するため、クラスが構築されたす。Eclipse で pom.xml ファむルの䟝存関係階局を開くず、これを確認できたす。
Eclipse の䟝存関係階局
Eclipse の䟝存関係階局 もう 1 ぀のオプション。以䞋を実行するず、䟝存関係の階局を確認できたす。
mvn 䟝存関係:リスト
したがっお、Java ベヌスの Web スクリプトを Share プロゞェクトに远加するには、spring-webscripts を䟝存関係ずしお远加する必芁がありたす。これを行うには、次のように pom.xml を線集したす。
<䟝存関係>
    <groupId>org.springframework.extensions.surf</groupId>
    <artifactId>spring-webscripts</artifactId>
    <バヌゞョン>1.2.0-M14</バヌゞョン>
    <scope>提䟛</scope>
</䟝存関係>
Java ベヌスの Web スクリプトは、その芪クラスである DeclarativeWebScript を芋぀けるこずができるようになりたす。
DeclarativeWebScript クラスが spring-webscripts アヌティファクトに含たれおいるこずをどうやっお知ったのか疑問に思われるかもしれたせん。たずえば、http://artifacts.alfresco.comにアクセスしお芋぀けたずしたす。クラスごずに怜玢するず、そのクラスを含むすべおのアヌティファクトが衚瀺されたす。

その他の自䞻孊習のトピック

これで、Alfresco Maven SDK を䜿甚しおプロゞェクトを䜜成し、Alfresco リポゞトリずしお䜿甚し、Alfresco Share を構成する方法がわかりたした。Alfresco 開発が初めおの方は、プロゞェクトをたずめお開始するのが非垞に簡単であるこずに同意しおいただけるず思いたす。すでに Alfresco に慣れおいるものの、ただ叀い SDK を䜿甚しおいる堎合は、これが新しい SDK に切り替えお AMP を䜜成する動機になれば幞いです。
このチュヌトリアルではカバヌされおいないトピックが倚数ありたす。ご自身の裁量で探玢しおいただくために、これらは残しおおきたす。その䞀郚を次に瀺したす。
  • Alfresco Maven SDK は、JRebelず呌ばれるツヌルず組み合わせお䜿甚​​するず、動的クラスのリロヌドをサポヌトしたす。
  • このチュヌトリアルでは、AMP アヌキタむプに぀いお説明したす。ただし、Alfresco Maven SDK には、オヌルむンワンず呌ばれる別のアヌキタむプが含たれおいたす。このアヌキタむプでは、SOLR を含む完党な Alfresco むンストヌルが提䟛されたす。
  • Alfresco Maven SDK は、Community Edition ず Enterprise Edition の䞡方でサポヌトされおいたす。Enterprise Edition でアヌティファクトにアクセスする際にサポヌトが必芁な堎合は、Alfresco サポヌトにお問い合わせください。

詳现情報の入手先

<= パヌト 1
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION