さて、これは私が期待したように100%機能しているソリューションです。@erik-bと@jorn-horstmannの回答の後で、私が読んだいくつかの投稿を考慮して、これを思いついた。
つまり、基本的に、Share拡張機能のJavaプロジェクトのコンテンツをホットデプロイする次のAntターゲットがあります。
<!--
Hot copy individual files into appropriate deployment folder (e.g. $TOMCAT_HOME/webapps/share)
-->
<target name="hotdeploy-tomcat-share" depends="clean, prepare, build-jar" description="Hot copy individual files into appropriate deployment folder (e.g. $TOMCAT_HOME/webapps/share)">
<echo message="Generating and deploying JAR file with custom configuration files" />
<jar destfile="${dist.dir}/${jar.name}">
<!-- Only including configuration XML files such as share-config-custom.xml -->
<fileset dir="${build.jar.dir}" includes="**/META-INF/*.xml" />
</jar>
<copy todir="${tomcat.share.deployment.path}/WEB-INF/lib">
<fileset file="${dist.dir}/${jar.name}" />
</copy>
<echo message="Hot deploying Share files" />
<copy todir="${tomcat.share.deployment.path}/WEB-INF/classes" includeEmptyDirs="false">
<fileset dir="${build.jar.dir}">
<patternset refid="hotdeploy-tomcat-patternset" />
</fileset>
</copy>
</target>
モジュールの自動再読み込み機能を無効にする必要があります。無効にしないと、上記のAntターゲットを実行するたびにTomcatがShareおよびデプロイされた他のWebアプリを再読み込みします。さらに、$ TOMCAT_HOME / shared /ディレクトリにホットデプロイすることも可能だと思いますが、まだ試していません。
拡張機能の開発に使用しているJavaプロジェクトは、次のモデルプロジェクトです:http ://code.google.com/p/share-extras/wiki/SampleProject 。必要な他のターゲットを含む完全なビルドスクリプトがあります。
私はshare-config-custom.xmlでもこれを使用しています:
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<!-- SpringSurf Autowire Runtime Settings -->
<!--
Developers can set mode to 'development' to disable; SpringSurf caches,
FreeMarker template caching and Rhino JavaScript compilation.
-->
<autowire>
<!-- Pick the mode: "production" or "development" -->
<mode>development</mode>
</autowire>
<!-- Allows extension modules with <auto-deploy> set to true to be automatically deployed -->
<module-deployment>
<mode>manual</mode>
<enable-auto-deploy-modules>true</enable-auto-deploy-modules>
</module-deployment>
</web-framework>
</config>
最後のXMLスニペットは、たとえばFTLページで変更が実行された後にWebスクリプトを更新することを回避します。
また、JRebelを使用していくつかのテストを実行しましたが、経験を積んだ後は、Shareの開発にはあまり役立たないと思います。
次の記事にも興味深いものがあります:
http://blogs.alfresco.com/wp/kevinr/2010/04/07/developer-tips-for-alfresco-share-33/
http://techblog.zabuchy.net/2012/debugging-javascript-in-alfresco/
それが他の人に役立つことを願っています。