Stackoverflow 上已经存在关于从 Gradle 发布预构建的 jar 到 Maven 的问题。但是,这略有不同:如何将预构建的 Jar 发布到 Maven 存储库,同时提供要包含在 pom.xml 文件中的依赖项?
我有一个在此脚本外部预先构建的 jar。我需要将此 jar 发布到我们的 Maven 存储库(Nexus)并在 pom.xml 中指定依赖项。我已经能够使用 artifacts 闭包将预构建的 jar 发布到 Maven 存储库,但它忽略了依赖项闭包。如果我添加 java 插件,那么 Maven 插件会创建一个带有依赖项的 pom,但会上传一个零字节的 jar 文件。我猜这是因为Java插件希望在src目录中编译和打包源代码,该目录中不存在该目录。
有没有办法可以将预先构建的 Jar“注入”到 Java 插件进程中,以便我可以将 jar 与依赖项一起上传?或者我错过了其他明显的东西?
当然,最好的办法是预先构建 Jar 的构建过程来概述其依赖项并上传到 Maven,但不幸的是,它是第 3 方软件,我们无法控制。
下面的脚本发布了一个零 kb 的 jar 文件...
apply plugin: 'java'
apply plugin: 'maven'
jar = file(projectHome + '/build/lib').listFiles()[0]
configurations {
archives
runtime
}
dependencies {
runtime 'org.apache.tika:tika-app:1.3'
}
artifacts {
archives jar
} …
Run Code Online (Sandbox Code Playgroud)