如何将本地jar依赖项添加到gradle中的其他依赖项?
问题描述:
罐子亚马逊kinesis连接器正在使用亚马逊kinesis客户端。我想改变这种依赖于当地的习俗罐子:如何将本地jar依赖项添加到gradle中的其他依赖项?
dependencies {
compile ('com.amazonaws:amazon-kinesis-connectors:1.2.0'){
exclude group: "com.amazonaws", module: "amazon-kinesis-client"
}
compile files('libs/amazon-kinesis-client-1.6.3.jar')
//...
}
它编译好了,但是当我运行代码,我得到java.lang.NoClassDefFoundError:COM/amazonaws /服务/室壁运动/ clientlibrary/interfaces/IRecordProcessorFactory。有没有办法在gradle中执行这种依赖管理?我使用
由于环境:
- gradle这个2.13
- IntelliJ IDEA的CE 2006.1
- 的Java 1.8
编辑:在的IntelliJ
使用gradle这个任务运行:
task run_app(type:JavaExec) {
main = 'org.main.RunApp'
classpath = sourceSets.main.runtimeClasspath
}
答
试试下面gradle这个配置
dependencies {
compile ('com.amazonaws:amazon-kinesis-connectors:1.2.0'){
exclude group: "com.amazonaws", module: "amazon-kinesis-client"
}
compile files('libs/amazon-kinesis-client-1.6.3.jar')
runtime files('libs/amazon-kinesis-client-1.6.3.jar')
//...
}
,或者您可以使用应用程序插件来创建可执行的JAR
https://docs.gradle.org/current/userguide/userguide_single.html#application_plugin
这意味着,罐子不包含在运行时包中。你能说出是否是战争或罐子的其他包装以及包装是如何完成的。另外告诉我你是如何执行/运行 –
@SangramJadhav:我正在使用gradle build来创建一个jar。我在答案中编辑了其他细节。 – djWann