我想运行 ant
构建脚本,而不安装 Java
并设置任何环境变量,例如 path
、JAVA_HOME
& ANT_HOME
到环境变量。
我已从其中复制了已安装的 Jdk-1.7u17
、Jre-1.7u17
和 apache-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_HOME
到 build.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/