在我的Android应用程序中,java.lang.NoClassDefFoundError
当执行引用从属.jar中的代码的代码时,出现提示。我的项目包括一个Android模块以及一个仅Java库模块,这是jar依赖项所在的位置。我正在使用gradle
1.10构建项目。这是我的项目布局:
myProject
- app (Android)
- src
- build.gradle
- lib (java)
- src
- libs
- local-dependency.jar
- build.gradle
- build.gradle
- settings.gradle
主项目build.gradle
为空白,而主项目settings.gradle
如下所示:
include ':app', ':lib'
Android应用build.gradle
看起来像:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion "19.0.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 18
versionCode 1
versionName "1.0"
}
}
dependencies {
compile project(':lib')
}
该库build.gradle
是:
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile <some-dependency-in-maven>
compile files('libs/local-dependency.jar')
}
一切都编译和打包,没有错误,并且我在IDE(IntelliJ 13)中看不到任何错误。由于某些原因,我local- dependency.jar
在Android编译过程中没有加入到处理过程中。lib
项目中指定的任何Maven依赖项都可以添加到Android
.apk中;这只是我的本地jar依赖项。有什么我想念的吗?
谢谢!
这不是直接可能的,因为在Gradle中未将本地jar声明为可传递依赖项。
您有两种选择:
第二个选项使您能够直接依靠本地jar进行多个项目(最重要的是成为传递依赖项)。为此,创建一个新的gradle项目,然后将其放入build.gradle
以下内容:
configurations.create("default")
artifacts.add("default", file('somelib.jar'))
只需将您的jar注册为该项目发布的默认工件,其他项目就会使用它。
我想在构建时将salesforce的Enterprise.jar文件包含在我的项目中,使用gradle,有没有人可以帮助我在项目中包含src/main/resources文件夹中存在的本地jar文件。
我的项目中有以下设置... 用于SOA风格项目的多项目gradle构建,使用Rabbitmq和Spring集成连接在一起。 包含许多grails项目以及表示服务的普通java/groovy项目。 每个服务项目旁边都有一个项目(jar),其中包含可以使用Spring集成代理的服务的所有公共接口(和消息)。 这些项目使用gradle依赖关系相互关联,然后我使用gradle想法插件生成IntelliJ项
我目前正在考虑将一个我开始用react-native开发的应用移植到CodenameOne。为此,我仍然在检查它的可行性和工作量(因为我必须将一些本机库绑定从react-native移植或开发到codenameone,因为codenameone忽略了我的一些需求,比如Socket.io支持)。免费的codenameone构建云服务仅限于1MB的应用程序,我必须在本地进行测试构建(只有几个测试类和使
我的桌面上有一个.jar文件,我希望将它添加为项目的依赖项,以便在其上使用现有的方法。我该怎么做?
问题内容: 我想在构建时使用gradle在我的项目中包含salesforce的enterprise.jar文件。有人可以帮助我如何在项目的src / main / resources文件夹中包含一个本地jar文件。 问题答案: 文档中对此进行了说明。应该执行以下操作: 我不会把罐子放进去。它不是项目的资源,而是编译依赖项。我会将其放在lib目录中。
我有一个多项目的设置,在这里我想从某些子项目构建Rpm文件,包含其他子项目的人工制品。看来我需要一些基本的基础知识。 项目布局如下: 这两个服务都依赖于CommonLibs。 我使用的是Nebula.os-Package 2.0.2和Gradle2.2快照版本。 null 所以,我想我应该在serviceA和ServiceB的中做这样的事情: 显然,这是行不通的: 好的,serviceA不是一个J