首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不设置环境变量的情况下运行`ant` build-script?

如何在不设置环境变量的情况下运行`ant` build-script?
EN

Stack Overflow用户
提问于 2013-04-10 22:13:01
回答 1查看 5.5K关注 0票数 0

我想在不安装Java的情况下运行ant构建脚本,也不想将pathJAVA_HOMEANT_HOME等任何环境变量设置为环境变量。

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

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

代码语言:javascript
复制
cd VersionBuild
C:\buildscript_required_files_v2\apache-ant-1.9.0\bin\ant

build.xml编译Java类并创建一个Jar文件。

代码语言:javascript
复制
<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文件时,我得到了以下异常-

代码语言:javascript
复制
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li
b\tools.jar

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 22:21:40

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

只需将PATH变量配置为(1) java.exe所在的目录(2) ant.bat所在的目录。在定义*_HOME的情况下,路径可以写为:

代码语言:javascript
复制
PATH=...;%JAVA_HOME%\bin;%ANT_HOME%

由于您没有这样的变量,因此需要声明:

代码语言:javascript
复制
PATH=...;C:\Program Files\Java\bin;c:\ant\bin

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

Windows :你可以编写你自己的bat文件,让知道.exe.bat文件的位置。只需在名为my-ant.bat的记事本文本文件中创建,并在其中放置以下内容:

代码语言:javascript
复制
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代码而使用下面的代码:

代码语言:javascript
复制
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%
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15928331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档