如何使罐从一个主罐在gradle?

ryevplcw  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(81)

我想通过gradle创建一个jar文件。我有Java源代码位于文件夹和一个jar文件名为master.jar我遵循这篇文章[**https://stackoverflow.com/questions/67725436/simplest-gradle-project-with-local-jar-files]**(链接)
但是我得到的jar文件的大小非常小,大约10 kb,但是我通过netbeans得到的jar的大小是40 kb,当我试图执行jar文件时,它显示一个错误,找不到类文件。
无法找到或加载主类com.robin.roh.
我认为它的编译错误我需要改变我的文件中的其他东西吗?
这是我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的时候,它显示的是在终端上找不到的main类。
我想使用libs文件夹上的jar文件来创建QuickRouteJobserver.jar我可以用netbeans创建它,但想使用bitbucket上的cicd管道的gradle
我只是希望我的jar是通过使用libs文件夹上的jar创建的任何其他简单的方法也是赞赏。

mtb9vblg

mtb9vblg1#

始终坚持使用原始文档。StackOverflow解决方案可能会随着时间的推移而被弃用。因此,请遵循Gradle DOC
1.添加您的目录(在此示例中:libs),并将JAR添加到存储库中

repositories {
    mavenCentral()
    flatDir {
        dirs '/path/to/libs/directory'
    }
}
  1. decompose此示例中的实际依赖项
dependencies {
   classpath group: 'my-jar-group', name: 'my-jar', version: '1.0'
}

如果你不知道组和/或版本,你可以使用一个简化的依赖:

dependencies {
   implementation name: 'my-jar'
}

1.编译项目
如果您没有声明任何实际的依赖项,那么您的库将被Gradle排除,以使生成的库尽可能小。

okxuctiv

okxuctiv2#

sourceSets.main.java.srcDirs = ['src/com/robin/roh/QuickRouteJobScheduler']

这似乎配置错误,我是如何阅读这你正在使用一个包结构com.robin.roh如果是这种情况下,这应该工作得更好

sourceSets.main.java.srcDirs = ['src']

相关问题