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

项目是用 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”,请问如何解决呢,非常感谢大家

阅读 2.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题