无法在 Groovy gradle 项目中找到或加载主类

我有一个 groovy 应用程序,我想用 gradle 打包到可执行 jar 中。问题是当 jar 完成时我有错误:无法找到或加载主类。这是我的 build.gradle:


group 'com.demo'

version '1.0-SNAPSHOT'


 apply plugin: 'groovy'

 apply plugin: 'java'

 apply plugin: 'idea'

 apply plugin:'application'

 mainClassName = 'com.demo.App'



 buildscript {

      repositories {

          mavenCentral()

      }

      dependencies {}

 }


  repositories {

   mavenCentral()

  }

  // java version dependency

   sourceCompatibility = 1.8

   targetCompatibility = 1.8


  jar {

baseName = 'cim-configurator'

version =  '0.1.0'

manifest {

    attributes("Build-Time": new Date().format("yyyy-MM-dd HH:mm:ss"),

            "Build-Jdk": System.getProperty("java.version"),

            "Built-By": System.getProperty("user.name"),

            "Created-By": "Gradle",

            "Main-Class": "com.demo.App"

    )

  }

}

这是文件层次结构:


com.demo

   ActiveMq

   App

   Database

   Rbac

   Run.groovy

   Service


不负相思意
浏览 361回答 2
2回答

一只斗牛犬

我认为使用 uberjar 可以解决您的问题。它对我来说适用于类似的情况。

POPMUISE

我在 Groovy & Gradle 项目中遇到了完全相同的问题。这是解决这个问题的答案。TL; 博士通过将以下插件添加到 build.gradle 中的 plugins 块来使用Shadow-jar 插件:plugins {    id 'com.github.johnrengelman.shadow' version '5.0.0'}然后运行 ./gradlew shadowJar你会得到一个emailer-all.jar可以运行的 jar 文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java