首页 > 解决方案 > 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 项目来模仿这个?

标签: mavenpom.xmlalfresco

解决方案


使用 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 已安装,我的自定义设置也已安装。


推荐阅读