对于一个项目,我有这样类型的结构:
依赖关系{只编译文件树(dir:'../lib/build/outputs/jar',include:['*.jar'])...}
这很好,但前提是jar已经由上一个构建生成,这意味着我必须启动./gradlew build
两次才能使其工作。
我认为问题在于,与常规依赖项(例如CompileOnly项目(':lib')
)不同,在不请求构建子项目的情况下计算文件树依赖项,并且在第一次构建时,没有向类路径添加jar文件。
我尝试了prebuild.dependson(':lib:makejar')
,但是没有成功,因为它是在求值之后执行的。
我不能将lib切换到Java插件,因为它是特定于Android的代码,而且我需要为其他项目构建aar,那么有没有更好的方法将compileOnly指令用于这个模块呢?或者是一种在应用程序构建之前强制构建库的方法。Gradle被评估?
将此添加到您的build.gradle(应用程序)中
compile fileTree(include: ['*.jar'], dir: 'libs')
或者直接编译jar文件,如下所示
compile files('libs/your_filename_in_libs_folder.jar')
我正在使用com.android.tools.build:Gradle:3.1.1和最新的Gradle版本(https://services.Gradle.org/distributions-snapshots/gradle-4.8-20180417000132+0000-all.zip)。 当我使用compileOnly依赖项时,其中有些不能编译,有些会编译。例如。 我的印象比任何依赖项都只能编
在为android项目添加新的依赖项时,特别是在中,在中,有三个作用域选项compile/provide/apk。
问题内容: 我们为其他内部应用程序提供了一个客户端jar,以连接到我们应用程序的REST API。我们的API依赖于一些标准的Jakarta库。将这些JAR文件包含在我们的客户端jar文件中是最佳实践吗?还是只记录依赖关系,并由客户机来确保它们在类路径上有那些jar? 问题答案: 你应该 不 捆绑任何第三方jar文件到您自己的罐子作为一位超级罐子,但它是很好的,包括所有所需在分发比方说在lib目录
Q1我如何在LibA中包含依赖项,这样当一些其他项目包含这个库时,它就不应该担心我的库的内部依赖项。 Q3当某人包含一个来自jcenter的库时,是否会带来所有的依赖关系? 任何帮助都将非常感谢。:)
我正在用Scala构建一个Apache Spark应用程序,并使用SBT来构建它。事情是这样的: 当我在IntelliJ IDEA下开发时,我希望将Spark依赖项包含在类路径中(我正在启动一个带有主类的常规应用程序) 当我打包应用程序(多亏了sbt-assembly)插件时,我不希望Spark依赖项包含在我的fat jar中 当我通过运行单元测试时,我希望Spark依赖项包含在类路径中(与#1相
我正在尝试构建一个Bukkit插件。该插件还使用exp4j。最终结果需要在发布的jar中包含exp4j代码,但不包含Bukkit代码。 我按照这个答案的建议将依赖项复制到中,并使用这个答案将Bukkit声明为已提供。我的build.gradle现在看起来像这样: 这非常有效,我可以从命令行使用Gradle愉快地构建和运行项目。问题在于Intellij(或者可能是Gradle idea插件)无法识别