【问题标题】:Gradle application plugin | Incorrect 'lib' folder in generated scriptGradle 应用程序插件 |生成的脚本中的“lib”文件夹不正确
【发布时间】:2017-09-06 18:28:15
【问题描述】:

我正在尝试按如下方式使用 Gradle 应用程序插件:-

build.gradle :-

group 'com.samsoft'
version '1.0-SNAPSHOT'

defaultTasks("clean", "build")

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
mainClassName = 'com.samsoft.Main'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

src/main/java.Main.java :-

package com.samsoft;
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

运行 gradle build 后,我们创建了 PRJECT/build/libs & PROJECT/build/scripts 文件夹和其他文件夹。这些库有可执行的 jar,它的依赖项和脚本有 .bat 和 .sh 文件来运行应用程序。

问题

脚本文件的类路径不正确为set CLASSPATH=%APP_HOME%\lib\hello-gradle-1.0-SNAPSHOT.jar

lib 中缺少

的字符,导致在尝试运行时出现 Error: Could not find or load main class com.samsoft.Main

我该如何解决这个问题?

Gradle 3.5 Java 8

【问题讨论】:

    标签: gradle gradle-plugin


    【解决方案1】:

    scripts 目录中的脚本不是用来运行的,这里只是为了包含在最终发行版中。

    如果您查看distributions 目录,您会看到一个 tar 和 zip 存档。这些将包含根目录下的脚本和包含 jar 文件的 lib 目录。这就是CLASSPATH 的意义所在:

    CLASSPATH=%APP_HOME%\lib\hello-gradle-1.0-SNAPSHOT.jar
    

    %APP_HOME% 是文件已解压缩/解压缩的文件夹

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2019-05-29
      • 2016-01-28
      相关资源
      最近更新 更多