我在使用'ivy-publish'插件发布工件时遇到了问题。有多个模块,我发布自定义jar或一些自定义jar,ivy.xml文件不添加项目依赖项。这是因为它们是定制罐子还是其他东西?
以下是我如何发布的示例。
publishing{
publications{
client(IvyPublication){
organisation "${group}"
module "${module_name}"
revision "${version}"
artifact (file("${buildDir}/dist/${module_context}.jar")){
name "${module_name}"
extension 'jar'
}
}
}
}
这些是项目正在使用的依赖项。
dependencies{
compile (group:"com.xxxxxxx", name:"xxxx-svcs-common", version:"${xxxx_svcs_common_service_version}", transitive:false)
compile (group:"com.xxxxxxx.cache", name:"xxxx-cache", version:"${xxxx_svcs_common_svcs_cache_version}", transitive:false)
compile (group:"com.sun.jersey", name:"jersey", version:"1.8", transitive:false)
compile (group:"com.oracle", name:"coherence", version:"3.7.1", transitive:false)
compile (group:"com.xxxxxxx.cache", name:"xxxx-cache", version:"${xxxx_entsvcs_common_svcs_cache_version}", transitive:false)
}
这是生成的ivy.xml。
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
<info organisation="xxx.xxxxxxx" module="xxxx-service-name" revision="xxx2014_jun-201406051004" status="integration" publication="20140605100413"/>
<configurations/>
<publications>
<artifact name="xxxx-service-name" type="jar" ext="jar"/>
</publications>
<dependencies/>
</ivy-module>
非常感谢任何帮助。
感谢。
答案 0 :(得分:2)
而不是
artifact (file("${buildDir}/dist/${module_context}.jar")){
name "${module_name}"
extension 'jar'
}
使用
from components.java
第一个只是发布指定的文件。第二个将发布由java插件的jar
任务生成的jar,并从runtime
配置生成依赖关系元数据。