Alfresco共享AMP结构,打包外部JS库不编译yuicompressor

Alfresco share AMP structure, pack an external JS library without fail to compile yuicompressor

我有 Alfresco Community 5.2 和一个自定义 JS 库,可以捆绑在一个 amp 文件中,因为我需要在共享中使用该库。

我试过把它放在shareamp\web\js\下,如图,但是因为YUICompressor minify错误我无法编译项目,可能是JS库太新,与YUICompressor不兼容。

错误如下

[ERROR] Failed to execute goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress (compress-js) on project MyProjectShare: Execution compress-js of goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress failed: Compilation produced 3 syntax errors. -> [Help 1]

我也试过放在META-INF\resources文件夹下,但是不行。我可以编译项目并创建 .amp 文件,但 amp 中不存在该库,就像它已被忽略一样。

显然我无法更改或删除该库,我也无法使其 ES5 与 babel.js 等外部工具兼容。

放置JS库的正确位置在哪里?是否可以为生产禁用 yuicompressor? (它是正确的吗?),我可以配置 Maven 将库放回 <build> 部分的 amp 中(如果它是正确的怎么办?)

感谢大家。

PS. 我也想知道我面临的这个问题是否是由 alfresco/share 扩展的错误方法引起的,并且,如果是这样,最佳做法应该如何。

我已经能够解决在 maven 安装期间添加资源的问题,即 amp 创建。

我把 JS 库放在 WEB-INF 文件夹下,正如问题中所解释的,所以基本上 alfresco 在编译时忽略它们,它们不会被 YUICompressor 获取 compressed/minified。在 maven 安装过程的验证阶段,这些文件被复制到正确的 js 路径中。

似乎一切正常。

我配置了maven-resources-plugin,这里是代码

<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
        <execution>
        <id>copy-resources</id>
        <!-- here the phase you need -->
        <phase>validate</phase>
        <goals>
            <goal>copy-resources</goal>
        </goals>
        <configuration>
            <outputDirectory>${basedir}/target/amp/web/BNextScanShare/js/DynamicWebTWAIN/</outputDirectory>
            <resources>          
                <resource>
                    <directory>/src/main/resources/META-INF/resources/DynamicWebTWAIN</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>              
        </configuration>            
    </execution>
    </executions>
</plugin>