我想通过gradle创建一个jar文件。我的 java 源代码位于文件夹中,还有一个名为 master.jar 的 jar 文件,我遵循了这篇文章 [https://stackoverflow.com/questions/67725436/simplest-gradle-project-with-local-jar-files](链接)
但是我得到的 jar 文件的大小要小得多,大约 10kb,但是我通过 netbeans 获取的 jar 的大小是 40kb,当我尝试执行 jar 文件时,它显示一个错误,无法找到类文件。
无法找到或加载主类com.robin.roh.QuickRouteJobScheduler
我认为它的编译错误,我需要更改文件中的其他内容吗?
这是我的 build.gradle 文件
apply plugin: 'java'
apply plugin: 'application'
// Define the source directory
sourceSets.main.java.srcDirs = ['src/com/robin/roh/QuickRouteJobScheduler']
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
jar {
manifest {
attributes 'Main-Class': 'com.robin.roh.QuickRouteJobScheduler'
attributes("Class-Path": configurations.runtimeClasspath { it.getName() }.join(' '))
}
}
Gradle 显示构建成功..但是当我运行该 jar 时,它显示在终端上找不到主类。
我想使用 libs 文件夹中的 jar 文件来创建 QuickRouteJobScheduler.jar 我可以使用 netbeans 创建它,但想在 bitbucket 上使用 gradle 进行 CICD 管道
我只是希望我的 jar 是通过使用 libs 文件夹中的 jar 来创建的,任何其他简单的方法也值得赞赏..
始终坚持原始文档。随着时间的推移,StackOverflow 解决方案可能会被弃用。因此,请遵循 Gradle 文档:
repositories {
mavenCentral()
flatDir {
dirs '/path/to/libs/directory'
}
}
dependencies {
classpath group: 'my-jar-group', name: 'my-jar-module-name', version: '1.0'
}
如果您不知道组和/或版本,您可以使用简化的依赖项:
dependencies {
implementation name: 'my-jar-1.0'
}
如果您没有声明任何实际依赖项,那么您的库将被 Gradle 排除,以使生成的 JAR 尽可能小。