【问题标题】:Gradle equivalent of maven-dependency-pluginGradle 相当于 maven-dependency-plugin
【发布时间】:2013-05-19 16:11:20
【问题描述】:

我的根本问题是,在为我的控制器和 Freemarker 视图运行基于“spring-test”的测试时,我需要在 WEB-INF/lib 文件夹中包含所有标记库 - 否则 freemarker 在测试期间将找不到它们。我用下面的 Maven 配置解决了这个问题。它实际上在运行测试之前将 taglibs jar 复制到 src/main/webapp/WEB-INF/lib 文件夹。我不想清除此文件夹,因为在为 IDE 运行此测试时问题是相同的。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
    <!-- Freemaarker requires that all taglibs should reside in WEB-INF/lib folder -->
    <execution>
        <id>tests</id>
        <phase>test-compile</phase>
        <goals>
            <goal>copy</goal>
        </goals>
        <configuration>
            <outputDirectory>${basedir}/src/main/webapp/WEB-INF/lib/</outputDirectory>
            <artifactItems>
                <artifactItem>
                    <groupId>org.springframework.security</groupId>
                    <artifactId>spring-security-taglibs</artifactId>
                    <version>${spring.security.version}</version>
                </artifactItem>
            </artifactItems>
        </configuration>
    </execution>
</executions>
</plugin>

现在我正在将我的项目迁移到 gradle。我怎样才能用 gradle 达到同样的效果?

【问题讨论】:

    标签: maven gradle maven-dependency-plugin


    【解决方案1】:

    这是我解决这个问题的方法(实际上与在 maven 中相同):

    为依赖添加另一个配置:

    configurations { 
        taglibs { transitive = false }
    }
    

    向此配置添加所需的依赖项:

    dependencies {
        ...
        taglibs "org.springframework.security:spring-security-taglibs:$springSecurityVersion"
        ...
    }
    

    添加 gradle 代码以将这些依赖项复制到所需文件夹:

    task copytaglibs(type: Copy) { 
        from configurations.taglibs
        into 'src/main/webapp/WEB-INF/lib'
    } 
    
    compileTestJava {
       dependsOn copytaglibs
    }
    

    就是这样。

    【讨论】:

    • 哥们你太棒了!
    猜你喜欢
    • 2017-06-22
    • 2016-09-24
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多