我有一些时髦的应用程序,我想用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
答案 0 :(得分:1)
我认为使用uberjar可以解决您的问题。对我来说,它也有类似的情况。
答案 1 :(得分:0)
我在Groovy&Gradle项目中有这个exact same problem。这是the answer that fixed this problem。
TL; DR
通过将以下插件添加到build.gradle中的插件块中,来使用Shadow-jar plugin:
plugins {
id 'com.github.johnrengelman.shadow' version '5.0.0'
}
然后运行./gradlew shadowJar
您将获得一个jar文件emailer-all.jar
,该文件可以运行。