gpt4 book ai didi

java - 是否有一个 JAR 可供 google-cloud-translate 使用 ANT 进行编译,而不是处理 40 多个单独的 JAR?

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

与仍然生活在 ant 构建环境世界(在 Windows 机器上)的客户合作。想要在 Java 程序中使用 google-cloud-translate 库,但如果我包含 google-cloud-translate 的所有依赖项,那么将有超过 40 个 jar,其中包含从 guava 到 Threetenbp 到 joda-time 到 google-cloud-core 的所有内容,如果我包括依赖项的所有依赖项和可选的依赖项。有没有一种简单的方法可以将所有依赖项打包到一个 JAR 中,这样我只需要 build.xml 中引用的一个 jar 文件?

最佳答案

如果您绝对需要使用 Ant,有一个非常简单的选项,尽管它使用不再维护的包:http://maven.apache.org/ant-tasks/index.html

使用 Maven Ant 任务,您可以使用 <artifact:dependencies> 在构建中定义 Artifact 。任务,并且该 Artifact 将连同其所有依赖项一起解析到您的本地存储库。您还可以给它 filesetId这样您就可以在此之后轻松地操作文件:

<project xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<typedef
classpath="lib/maven-ant-tasks.jar"
resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
/>

<target name="resolve-google-cloud-translate-artifacts">
<artifact:dependencies filesetId="google-cloud-translate">
<dependency artifactId="google-cloud-translate" groupId="com.google.cloud" version="1.38.0" />

<remoteRepository id="central" url="https://repo.maven.apache.org/maven2/" />
</artifact:dependencies>

<delete dir="google-cloud-translate.libs" />

<mkdir dir="google-cloud-translate.libs" />

<copy todir="google-cloud-translate.libs">
<fileset refid="google-cloud-translate" />
<flattenmapper />
</copy>
</target>
</project>

请注意artifact: project 中的命名空间定义元素。没有它,Maven 任务将无法工作。

关于java - 是否有一个 JAR 可供 google-cloud-translate 使用 ANT 进行编译,而不是处理 40 多个单独的 JAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51730727/

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