Alfresco SDK 2迁移至3.0.1:主题升级配置路径咨询
Alfresco SDK 2 → SDK 3.0.1 迁移指南(自定义主题场景)
我刚好有过从SDK 2升级到SDK 3.x的实战经验,给你梳理下最稳妥的迁移步骤,重点解决你关心的config目录处理和POM配置验证问题:
1. 静态资源(主题)的迁移:你之前的认知是对的
SDK 2里AMP的src/main/amp/web(存放主题CSS、JS、图片等静态资源)确实要迁移到SDK 3项目的share-jar模块下的src/main/assembly/web目录。这个目录下的内容会被打包进最终的Share模块JAR,和原生Share的web资源合并,逻辑和原来的AMP完全一致,不用担心主题加载问题。
2. src/main/amp/config 目录的拆分迁移
SDK 3采用了模块化的JAR结构,不再用AMP的单一config目录,需要根据配置所属的层(Share前端/Platform后端)拆分到对应模块:
针对Share模块(share-jar)
- 原
config/alfresco/web-extension下的配置文件(比如share-config-custom.xml、自定义Spring上下文XML):迁移到share-jar/src/main/resources/META-INF/目录下,Spring配置可以放在META-INF/spring子目录 - 原
config/alfresco/messages下的自定义消息包(.properties文件):直接移到share-jar/src/main/resources/messages - 原
config/alfresco/web-extension/site-webscripts下的Web脚本:迁移到share-jar/src/main/resources/alfresco/web-extension/site-webscripts
针对Platform模块(platform-jar)
如果你的原AMP包含Repository层的配置(比如自定义模型、行为类、Repository端Spring配置):
- 原
config/alfresco/module/[你的模块ID]/下的配置文件:迁移到platform-jar/src/main/resources/META-INF/alfresco/module/[你的模块ID]/ - 自定义模型文件(
.xml):移到platform-jar/src/main/resources/alfresco/module/[你的模块ID]/model目录
3. POM文件的关键验证点
你已经更新了share-jar和platform-jar的POM,这里给你几个必查的核心配置,确保没踩坑:
根POM的父依赖
项目根POM必须继承SDK 3.0.1的父POM,这是整个项目的版本基石:
<parent> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-sdk-parent</artifactId> <version>3.0.1</version> </parent>
Share模块POM配置
- 打包类型必须是
jar(SDK 3不再用AMP打包) - 引入Share的依赖BOM,确保所有依赖版本和Alfresco版本对齐:
<dependencyManagement> <dependencies> <dependency> <groupId>org.alfresco</groupId> <artifactId>alfresco-share-platform-dependencies</artifactId> <version>${alfresco.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
- 配置
alfresco-maven-plugin,确保assembly目录的资源被正确打包进JAR:
<build> <plugins> <plugin> <groupId>org.alfresco.maven.plugin</groupId> <artifactId>alfresco-maven-plugin</artifactId> <version>${alfresco.sdk.version}</version> <executions> <execution> <id>default-jar</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
Platform模块POM配置
和Share模块类似,打包类型设为jar,引入Repository的依赖BOM,同时配置alfresco-maven-plugin来处理模块配置和自定义模型的加载。
4. 迁移后的验证步骤
做完上面的步骤后,一定要做这几步验证:
- 执行
mvn clean install打包项目,打开生成的share-jar/target/[你的Share模块名].jar,检查web目录和配置文件是否都在正确位置 - 用
mvn alfresco:run启动Alfresco,访问Share界面,确认自定义主题正常显示、功能可用 - 查看启动日志,确保没有
FileNotFoundException或Spring配置加载失败的报错
内容的提问来源于stack exchange,提问作者anakin59490
相关产品推荐
相关产品推荐

