gpt4 book ai didi

java - Gradle JAR : order of dependency jars and actual classes

转载 作者:行者123 更新时间:2023-12-03 03:10:22 25 4
gpt4 key购买 nike

我的 build.gradle:

jar {
dependsOn configurations.runtime
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }

manifest {
attributes(
'Main-Class': 'com.company.product.veryNiceMainClass'
)
}
}

我想告诉 Gradle 首先选择依赖 JAR,然后在创建 JAR 时选择实际的实现类,可能会覆盖一些东西。对于实际项目来说是必须的。我做了一些 RTFM 但没有帮助。你可以在 Ant 中做到这一点:
<target name="dist">
<!-- deps first -->
<jar destfile="${dist.dir}/${ant.project.name}-${build.version}.jar">
<zipgroupfileset dir="${lib.dir}" includes="**/*-jar-*.jar" />
<zipgroupfileset dir="${lib.dir}" includes="**/*-bundle-*.jar" />
<zipgroupfileset dir="${basedir}/lib-old" includes="**/*.jar" />
</jar>
<!-- classes, UPDATE (!) the JAR -->
<jar destfile="${dist.dir}/${ant.project.name}-${build.version}.jar" update="true">
<fileset dir="${build.classes.dir}" />
</jar>
</target>

有什么想法吗?

编辑:解决方案已验证(感谢 Ingo)。只需按照您的意愿定义多个 from 语句。
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } } // deps
from sourceSets.main.output.classesDir // classes
from 'log4j.properties' // some file

最佳答案

您可以定义多个 from jar 的声明任务,生成的文件将按该顺序处理。

关于java - Gradle JAR : order of dependency jars and actual classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com