gpt4 book ai didi

java - buildr:将依赖包打包到一个 jar 中

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:34 25 4
gpt4 key购买 nike

我有一个用 buildr 构建的 java 项目并且具有一些外部依赖性:

repositories.remote << "http://www.ibiblio.org/maven2"
repositories.remote << "http://packages.example/"

define "myproject" do
compile.options.target = '1.5'
project.version = "1.0.0"
compile.with 'dependency:dependency-xy:jar:1.2.3'
compile.with 'dependency2:dependency2:jar:4.5.6'

package(:jar)
end

我希望它构建一个包含所有这些依赖项的独立 jar 文件。

我该怎么做?

(有一个合乎逻辑的后续问题:How can I strip all the unused code from the included dependencies and only package the classes I actually use?)

最佳答案

这就是我现在正在做的事情。这使用 autojar 仅提取必要的依赖项:

def add_dependencies(pkg)
tempfile = pkg.to_s.sub(/.jar$/, "-without-dependencies.jar")
mv pkg.to_s, tempfile

dependencies = compile.dependencies.map { |d| "-c #{d}"}.join(" ")
sh "java -jar tools/autojar.jar -baev -o #{pkg} #{dependencies} #{tempfile}"
end

及以后:

package(:jar)
package(:jar).enhance { |pkg| pkg.enhance { |pkg| add_dependencies(pkg) }}

(警告:我对 buildr 知之甚少,这可能是完全错误的方法。不过它对我有用)

关于java - buildr:将依赖包打包到一个 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279419/

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