gpt4 book ai didi

java - 如何在不设置任何环境变量的情况下运行 `ant` 构建脚本?

转载 作者:行者123 更新时间:2023-12-02 07:07:23 24 4
gpt4 key购买 nike

我想运行 ant 构建脚本,而不安装 Java 并设置任何环境变量,例如 pathJAVA_HOME & ANT_HOME 到环境变量。

我已从其中复制了已安装的 Jdk-1.7u17Jre-1.7u17apache-ant-1.9.0 文件夹机器到另一台机器到 C:\buildscript_required_files_v2 文件夹。

现在我有一个窗口批处理文件,它进入 build.xml 所在的路径并运行 ant

cd VersionBuild
C:\buildscript_required_files_v2\apache-ant-1.9.0\bin\ant

build.xml 符合 Java 类并创建 Jar 文件。

<project name="VersionBuild"  default="clean" basedir=".">
<description>
simple example build file
</description>

<!-- set global properties for this build -->


<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->


</target>

<target name="CompilingBuildversion" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<C:\buildscript_required_files_v2\java\jdk64\bin\javac.exe srcdir="." destdir="."/>
</target>

<target name="Creating jar" depends="CompilingBuildversion">
<jar jarfile="VersionBuild.jar" basedir="."/>
</target>


<target name="clean" depends="Creating jar">

</target>

</project>

当我运行该 bach 文件时,出现以下异常 -

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li
b\tools.jar

我可以在不安装 Java 和设置任何环境变量的情况下运行 ant 构建脚本吗?我可以在本地为 ant 指定 JAVA_HOMEbuild.xml 中,以便 ant 可以从 C:\buildscript_required_files_v2 获取引用文件夹?

最佳答案

您的问题与 *_HOME 变量无关,但我首先回答您的问题。是的,你可以。

只需将 PATH 变量配置为 (1) java.exe 所在的目录 (2) ant.bat 所在的目录。如果 *_HOME 定义了路径,则可以这样写:

PATH=...;%JAVA_HOME%\bin;%ANT_HOME%

由于您没有此类变量,因此需要声明:

PATH=...;C:\Program Files\Java\bin;c:\ant\bin

但实际上你的问题是你尝试使用 JRE,而 ant 需要 JDK。只需从 oracle 网站下载即可。 tools.jar 是 JDK 的一部分,但不是 JRE。

更新:您可以编写自己的bat 文件,让Windows 知道在哪里可以找到.exe.bat 文件。只需在记事本中创建名为 my-ant.bat 的文本文件,然后将其放置在此处:

set JAVA_HOME=C:\buildscript_required_files_v2\java\jdk64
set PATH=%PATH%;%JAVA_HOME%\bin;C:\buildscript_required_files_v2\apache-ant-1.9.0\bin
rem ** Now we invoke ant **
ant

显然您想使用命令行参数进行操作。这就是为什么使用以下内容而不是最后一个 ant 行:

set my_ant_start=
:setupArgs
if ""%1""=="""" goto doneStart
set my_ant_start=%my_ant_start% %1
shift
goto setupArgs
:doneStart
rem ** Now we invoke ant **
ant %my_ant_start%

关于java - 如何在不设置任何环境变量的情况下运行 `ant` 构建脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15928331/

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