gpt4 book ai didi

gradle - 如何在gradle生成的startScripts中修复类路径

转载 作者:行者123 更新时间:2023-12-03 02:56:32 25 4
gpt4 key购买 nike

我正在构建一个简单的应用程序,它可以很好地使用 gradle 包装器。

现在我想使用 shell 脚本启动它。我正在尝试使用应用程序插件提供的 gradle startScripts 任务来生成这样的脚本。

以下是我试过的命令:

n@laptop - ./gradlew clean build
BUILD SUCCESSFUL in 1s
9 actionable tasks: 9 executed

n@laptop - ./build/scripts/simple
Error: Could not find or load main class Main
Caused by: java.lang.ClassNotFoundException: Main

这是我的 build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'application'

repositories {
mavenCentral()
}

sourceCompatibility = 1.11
targetCompatibility = 1.11

application {
mainClassName = 'Main'
}

dependencies {
compile("org.apache.commons:commons-io:1.3.2")
compile("org.apache.commons:commons-io:1.3.2")
compile("javax.validation:validation-api:2.0.0.Final")
compile("com.fasterxml.jackson.core:jackson-annotations:2.2.1")
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.8")
compile("org.hibernate:hibernate-validator:6.0.16.Final")
compile("javax.el:javax.el-api:3.0.0")
compile("org.glassfish:javax.el:3.0.0")
compile("com.beust:jcommander:1.72")

testCompile ("junit:junit:4.12")

compileOnly "org.projectlombok:lombok:1.18.8"

annotationProcessor 'org.projectlombok:lombok:1.18.8'
}

最佳答案

你不能从 Gradle 的 build 运行生成的脚本直接目录。该脚本仅在那里生成,但旨在用作 build/distributions/ 下已构建的分发文件之一的一部分。 .例如(假设您的项目名为 simple 并且我们在 Unix 系统上):

# create a directory where we will install the built ZIP distribution
mkdir installdir
# unzip the ZIP distribution to the new install directory
unzip build/distributions/simple.zip -d installdir
# run the application using the generated script from the distribution
installdir/simple/bin/simple

作为引用,以下是您构建的安装目录的样子(生成的启动脚本位于 bin 目录中):

installdir/simple/
├── bin
│   ├── simple
│   └── simple.bat
└── lib
├── classmate-1.3.4.jar
├── commons-io-1.3.2.jar
├── simple.jar
├── hibernate-validator-6.0.16.Final.jar
├── jackson-annotations-2.9.0.jar
├── jackson-core-2.9.8.jar
├── jackson-databind-2.9.8.jar
├── jackson-datatype-jsr310-2.9.8.jar
├── javax.el-3.0.0.jar
├── javax.el-api-3.0.0.jar
├── jboss-logging-3.3.2.Final.jar
├── jcommander-1.72.jar
└── validation-api-2.0.1.Final.jar

或者,您可以使用 the run task 直接从 Gradle 运行您的程序。应用程序插件:

./gradlew run

关于gradle - 如何在gradle生成的startScripts中修复类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56139396/

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