maven - Alfresco SK3 - JAR AIO 项目依赖项
问题描述
在 < SDK3 AMP 项目中,当从 Eclipse 运行时,可以在 POM.xml 中安装放大器。这将允许在从 Eclipse 运行/调试时应用现有的 AMP(s) 项目。当我们将项目更改为 JAR AllInOne 项目时,我想知道复制它的实际过程是什么?“Project2”无法运行(mvn clean install alfresco:run),因为我们的“Project2”JAR 依赖于“Project1”Jars 中的模型。
我认为覆盖部分可能会这样做,但是通过 maven 运行“Project2”时找不到“Project1”中定义的模型。以前在使用 AMP 时,pom.xml 的 install-AMPs 部分将确保依赖项 webscripts/models 在运行时可用。有没有办法用两个 AIO Jar 项目来模仿这个?
解决方案
使用 Alfresco SDK 3.0 的 AIO 项目可以毫无问题地引入其他 AMP。
确保您已取消注释 pom.xml 中实际构建 AMP 的部分。寻找这样开始的部分:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>build-amp-file</id>
并确保它没有被注释。
完成此操作后,您可以将 AMP 添加为平台层依赖项和共享层依赖项。对于平台层依赖项,查找“”元素并在那里添加您的依赖项,确保指定类型为“amp”。
对于共享层依赖项,请查找“”。
例如,我经常喜欢在我的 AIO 项目中安装 JavaScript 控制台,因为它非常方便。因此,我将以下内容添加到 platformModules:
<!-- JavaScript Console -->
<moduleDependency>
<groupId>de.fmaul</groupId>
<artifactId>javascript-console-repo</artifactId>
<type>amp</type>
<version>0.7-SNAPSHOT</version>
</moduleDependency>
我将以下内容添加到:
<!-- JavaScript Console -->
<moduleDependency>
<groupId>de.fmaul</groupId>
<artifactId>javascript-console-share</artifactId>
<type>amp</type>
<version>0.7-SNAPSHOT</version>
</moduleDependency>
有了这些,当我使用 run.sh 运行我的 AIO 项目时,Tomcat 将启动,JavaScript 控制台 AMP 已安装,我的自定义设置也已安装。
推荐阅读
- reporting-services - ssrs:将空值添加到多值参数不起作用
- java - Liquibase 更改日志不存在 - ChangeLogParseException
- android - readRemoteRssi 后 BLE 上的重复消息?
- c# - 不能在其他方法中使用字符串
- javascript - 如何在图片库中添加 PHP 分页
- python - 调用 super().__init__(**kwargs) 和多重继承?
- mysql - 如何创建mysql函数
- c - C中的猜谜游戏,无法获得尝试工作的次数,变量是“计数器”
- node.js - 使用node js创建webrtc视频、语音通话和文件传输一步一步QA
- java - 触发多个线程获取数据时查询无法得到结果