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

如何修复gradle生成的startScripts中的类路径,gradle,Gradle,我正在使用gradle包装器构建一个简单的应用程序 现在我想使用shell脚本启动它。我试图使用应用程序插件提供的GradleStartScripts任务来生成这样一个脚本 以下是我尝试过的命令: 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

我正在使用gradle包装器构建一个简单的应用程序

现在我想使用shell脚本启动它。我试图使用应用程序插件提供的GradleStartScripts任务来生成这样一个脚本

以下是我尝试过的命令:

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系统上):

#创建一个目录,我们将在其中安装构建的ZIP发行版
mkdir installdir
#将ZIP发行版解压缩到新的安装目录
解压build/distributions/simple.zip-d installdir
#使用发行版中生成的脚本运行应用程序
installdir/simple/bin/simple
以下是构建的安装目录(在
bin
目录中生成的启动脚本),以供参考:

installdir/simple/
├── 箱子
│   ├── 简单的
│   └── 简单蝙蝠
└── 解放党
├── 同学-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

或者,您可以使用以下应用程序插件直接从Gradle运行程序:

/gradlew运行