gpt4 book ai didi

spring-boot - 我可以在gradle中指定我只想使用某个插件进行测试吗?

转载 作者:行者123 更新时间:2023-12-03 04:54:35 29 4
gpt4 key购买 nike

我有一个项目,并且仅出于测试目的,我想站立一个快速的websocket服务器。 Spring Boot似乎是最简单的方法,但是我不想在实现中包括插件,仅用于测试。我似乎找不到类似这样的文档,但总的来说,我发现“可以用gradle做到这一点”这个问题的答案通常是肯定的。
那么,我将如何指定仅将“org.springframework.boot”插件用于测试构建?
我试过将插件{}块放置在测试{}块中,但这不起作用。

最佳答案

我非常确定您可以按常规方式使用org.springframework.boot插件,并且不会影响您的构建 Artifact 。
但是,如果您担心插件可能会对构建 Artifact 产生不良影响,则可以动态应用插件。默认情况下,旧的插件机制实际上以这种方式工作,并将插件的分辨率从其应用程序分离到Project实例:

// This part resolves the plugin
buildscript {
repositories {
maven {
url 'https://plugins.gradle.org/m2/'
}
}
dependencies {
classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.3.2.RELEASE'
}
}

// This part applies the plugin
apply plugin: 'org.springframework.boot'
这样可以根据条件应用插件:
if (testMode) {
apply plugin: 'org.springframework.boot'
}
使用新的 plugins块来应用插件,这是不可能直接实现的,因为 plugins块是不允许自定义代码的特殊块:
// This is not allowed!
plugins {
if (testMode) {
id 'org.springframework.boot' version '2.3.2.RELEASE'
}
}
解决方案是告诉 plugins块自动解决插件 without applying it。然后可以使用 apply plugin:动态完成此操作:
plugins {
id 'org.springframework.boot' version '2.3.2.RELEASE' apply false
}

if (testMode) {
apply plugin: 'org.springframework.boot'
}

关于spring-boot - 我可以在gradle中指定我只想使用某个插件进行测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63360526/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com