Docker部署Alfresco后,如何基于自定义模型创建AMP/JAR文件?
Docker Compose部署Alfresco Governance Services自定义模型解决方案
一、构建自定义模型的AMP/JAR文件
无需依赖Alfresco SDK,可手动完成打包:
- 编写模型定义文件(如
customModel.xml),放在src/main/resources/alfresco/module/your-model-id/model目录,定义命名空间、自定义类型、属性及关联规则。 - 创建模块配置文件
module-context.xml,配置模型的加载逻辑,示例:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="customModel.bootstrap" parent="abstractModelBootstrap" depends-on="dictionaryBootstrap"> <property name="models"> <list> <value>alfresco/module/your-model-id/model/customModel.xml</value> </list> </property> </bean> </beans> - 编写Maven的
pom.xml,指定Alfresco Repository依赖,打包类型设为amp或jar,执行mvn clean package即可生成对应包文件。
二、配置文件的位置与挂载方式
Docker Compose部署环境中,默认路径如下,但禁止直接修改容器内文件,推荐通过卷挂载自定义配置:
- Alfresco Repository容器:
bootstrap-context.xml默认位于/usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension - Share容器:
share-config-custom.xml默认位于/usr/local/tomcat/webapps/share/WEB-INF/classes/alfresco/web-extension
在docker-compose.yml中添加卷挂载配置,示例:
services: alfresco: volumes: - ./local-config/bootstrap-context.xml:/usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/bootstrap-context.xml - ./local-models/customModel.xml:/usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/model/customModel.xml share: volumes: - ./local-config/share-config-custom.xml:/usr/local/tomcat/webapps/share/WEB-INF/classes/alfresco/web-extension/share-config-custom.xml
三、不使用已弃用的Share Model Manager添加自定义模型
方式1:通过AMP/JAR包部署
- 将打包好的AMP/JAR文件挂载到Alfresco Repository容器的
/usr/local/tomcat/webapps/alfresco/WEB-INF/lib(JAR包直接放入即可加载);若为AMP包,可进入容器执行安装命令:java -jar /usr/local/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-mmt.jar install /path/to/your-model.amp /usr/local/tomcat/webapps/alfresco - 重启Alfresco容器,模型会自动加载。
方式2:直接挂载模型文件
- 将自定义模型的
.xml文件挂载到Alfresco Repository容器的/usr/local/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/extension/model目录 - 在
bootstrap-context.xml中添加模型加载配置(参考第一部分的module-context.xml示例),重启容器后模型即可生效。
内容的提问来源于stack exchange,提问作者Moreira Vidal Pereira Gustavo
相关产品推荐
相关产品推荐

