如何在不设置任何环境变量的情况下运行“ant”构建脚本



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

我已经将已经安装的Jdk-1.7u17, Jre-1.7u17apache-ant-1.9.0文件夹从一台机器复制到另一台机器的C:buildscript_required_files_v2文件夹中。

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

cd VersionBuild
C:buildscript_required_files_v2apache-ant-1.9.0binant

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_v2javajdk64binjavac.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 FilesJavajre6li
btools.jar

我可以运行ant build-script不安装Java和设置任何环境变量吗?我可以指定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 FilesJavabin;c:antbin

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

:您可以编写自己的bat文件,让Windows知道在哪里找到.exe.bat文件。在记事本中创建一个名为my-ant.bat的文本文件,并在下面放置:

set JAVA_HOME=C:buildscript_required_files_v2javajdk64
set PATH=%PATH%;%JAVA_HOME%bin;C:buildscript_required_files_v2apache-ant-1.9.0bin
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%

相关内容

  • 没有找到相关文章

最新更新