用 gradle 打包自己写的 kotlin 工具包,打成的 jar 其他项目无法 import 里面的方法怎么办?

发布于 2022-09-12 03:57:28 字数 2047 浏览 19 评论 0

项目是用 IDEA 的 gradle 项直接创建的,项目路径如下:

src/
├── main
│   ├── java
│   ├── kotlin
│   │   └── org
│   │       └── lxx
│   │           └── dxtool
│   │               ├── dxcmd
│   │               │   └── DxCmd.kt
│   │               ├── dxfileext
│   │               │   └── DxFileExt.kt
│   │               ├── dxjdbc
│   │               │   └── DxJdbc.kt
│   │               ├── dxjsonlog
│   │               │   └── DxJsonLog.kt
│   │               ├── dxlog
│   │               │   └── DxLog.kt
│   │               ├── dxnats
│   │               │   └── DxNATS.kt
│   │               ├── dxresources
│   │               │   └── DxResources.kt
│   │               ├── dxssh
│   │               │   └── DxSSH.kt
│   │               ├── dxtcp
│   │               │   └── DxTCP.kt
│   │               ├── dxtemplate
│   │               │   └── DxTemplate.kt
│   │               └── dxtime
│   │                   └── DxTime.kt
│   └── resources
└── test
    ├── java
    ├── kotlin
    └── resources

gradle 文件内容如下:

plugins {
    id 'org.jetbrains.kotlin.jvm' version '1.3.72'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    compile 'com.github.sisyphsu:dateparser:1.0.4'
    compile group: 'com.jcraft', name: 'jsch', version: '0.1.55'
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.10'
    compile group: 'commons-codec', name: 'commons-codec', version: '1.14'
    compile 'commons-net:commons-net:3.6'
    compile 'org.freemarker:freemarker-gae:2.3.30'
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

jar {
    from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}

执行 gradle build 命令打包,打完包之后其他项目使用 compile files('jar 包的路径 /dxtool-1.0-SNAPSHOT.jar')之后,却无法 import 到包里面的方法。从IDEA中的external libraries项查看,发现自己的jar包右侧会标记“library root”,请问如何解决呢,非常感谢大家

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文