gpt4 book ai didi

java - 将Maven依赖项迁移到Gradle

转载 作者:行者123 更新时间:2023-12-03 03:12:06 24 4
gpt4 key购买 nike

我从软件测试开始-使用Cucumber,Java,gradle。
我尝试通过“The Cucumber for Java Book”一书来学习

但是我尝试用gradle代替maven ...但是现在我遇到了一些问题...
我坚持在第149页上。

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>

我尝试将其翻译成gradle
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile 'io.cucumber:cucumber-java:2.4.0'
testCompile 'io.cucumber:cucumber-junit:2.4.0'
testCompile group: 'info.cukes', name: 'cucumber-picocontainer', version: '1.2.5'
compile group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'
}

这是正确的吗?
编译组:'org.eclipse.jetty',名称:'jetty-webapp',版本:'9.4.12.v20180830'

之后,我必须运行:
mvn exec:java -Dexec.mainClass="nicebank.AtmServer"

但是我该如何用gradle做到这一点呢?

我希望有一个人可以帮助我 :)

最佳答案

正如我在评论中所说,jetty-webapp的依赖关系似乎还可以,但是您应该使用implementation而不是compile(不建议使用compile,请参阅Java dependency configurations):

implementation group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830'

要么
implementation "org.eclipse.jetty:jetty-webapp:9.4.12.v20180830"

对于Gradle中的“maven exec:java”,您可以使用 Gradle JavaExec task type:尝试在构建中定义一个任务,如下所示:
task runApp(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath

main = 'nicebank.AtmServer'

}

(未经测试,您必须适应它),然后使用
gradle runApp

您也可以使用 Gretty 插件来运行您的Web应用程序(在这种情况下,无需定义自己的JavaExec任务),如 herehere所述:
plugins{
// your existing plugins
id "org.gretty" version "2.2.0"
}

然后,您可以使用以下命令运行该应用程序:
gradle appRun

关于java - 将Maven依赖项迁移到Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53282313/

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