蚂蚁构建无法扩展环境变量

威廉斯数据库

我在为开发目的而设置的新服务器上的构建过程有问题。

它在带有Java / Tomcat v7的Centos 6机器上运行。输出如下:

Buildfile: /home/ec2-user/twv/trunk/EES/build.xml

init:
     [echo] Build of EES started at 1332 on December 19 2015

clean:
     [echo] Cleaning EES
   [delete] Deleting directory /home/ec2-user/twv/trunk/EES/build

compile:
     [echo] Compiling EES
    [mkdir] Created dir: /home/ec2-user/twv/trunk/EES/build/WEB-INF/classes
    [javac] Compiling 78 source files to /home/ec2-user/twv/trunk/EES/build/WEB-INF/classes

BUILD FAILED
/home/ec2-user/twv/trunk/EES/build.xml:118: /home/ec2-user/twv/trunk/EES/${currentenv.TOMCAT_HOME}/lib does not exist.

关于SO的其他响应建议未创建环境变量,但是如果我运行以下命令:

echo $TOMCAT_HOME

它返回:

/usr/local/tomcat7

因此,我知道该变量存在并已设置。

这是build.xml文件:

<?xml version="1.0"?>
<!-- #######################################################################
                        B u i l d   S c r i p t
####################################################################### -->

<project name="EES" default="war">
        <description> EES </description>
        <property environment="currentenv" />
        <property name="tomcat.home" location="${currentenv.TOMCAT_HOME}"/>
        <property file="build.${currentenv.ANT_HOST_NAME}" />
        <property name="webapp.path" value="build"/>

<!-- #######################################################################
                T a r g e t : I n i t
####################################################################### -->

  <target name="init">
    <tstamp/>
    <echo>Build of ${ant.project.name} started at ${TSTAMP} on ${TODAY}</echo>
  </target>


<!-- #######################################################################
                T a r g e t : D e f a u l t
####################################################################### -->

        <target name="war" depends="init, clean, compile,compilejsp,copywebroot" description="Bundle up everything">
        <!-- target name="war" depends="init, clean,compile,copywebroot" description="Bundle up everything" -->
                <echo>Packaging ${ant.project.name}</echo>
                <jar destfile="EES.war" basedir="${webapp.path}"/>
                <echo>Finished packaging ${ant.project.name}</echo>
        </target>

<!-- #######################################################################
                T a r g e t : C o p y w e b r o o t
####################################################################### -->

        <target name="copywebroot">
                <copy todir="${webapp.path}" >
                        <fileset dir="WebRoot">
                               <include name="**"/>
                        </fileset>
                </copy>
        </target>

<!-- #######################################################################
                T a r g e t : j s p c
####################################################################### -->
        <target name="jspc">

                <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
                        <classpath id="jspc.classpath">
                                <pathelement location="${java.home}/../lib/tools.jar"/>
                                <fileset dir="${tomcat.home}/bin">
                                        <include name="*.jar"/>
                                </fileset>
                                <fileset dir="${tomcat.home}/lib">
                                        <include name="*.jar"/>
                                </fileset>
                                <fileset dir="${tomcat.home}/lib">
                                        <include name="*.jar"/>
                                </fileset>
                                <fileset dir="${ant.home}/lib">
                                        <include name="ant.jar"/>
                                </fileset>
                        </classpath>
                </taskdef>
                <mkdir dir="${webapp.path}/WEB-INF/src"/>
<!--            <jasper2 verbose="255"
                     validateXml="false"
                     uriroot="${webapp.path}"
                     webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
                     outputDir="${webapp.path}/WEB-INF/src" /> -->
                 <java classname="org.apache.jasper.JspC"
                          classpathref="jspc.classpath"
                          fork="true" failonerror="true">
                        <arg line="-v -d ${webapp.path}/WEB-INF/src -webapp ${webapp.path}"/>
                    </java>

        </target>
        <target name="compilejsp" depends="jspc">
                <mkdir dir="${webapp.path}/WEB-INF/classes"/>
                <mkdir dir="${webapp.path}/WEB-INF/lib"/>

                <javac destdir="${webapp.path}/WEB-INF/classes"
                        optimize="off"
                        debug="on" failonerror="false"
                        srcdir="${webapp.path}/WEB-INF/src"
                        excludes="**/*.smap">
                        <classpath>
                                <pathelement location="${webapp.path}/WEB-INF/classes"/>
                                <fileset dir="${webapp.path}/WEB-INF/lib">
                                        <include name="*.jar"/>
                                </fileset>
                                <pathelement location="${tomcat.home}/lib"/>
                                <fileset dir="${tomcat.home}/lib">
                                        <include name="*.jar"/>
                                </fileset>
                                <fileset dir="${tomcat.home}/bin">
                                        <include name="*.jar"/>
                                </fileset>
                        </classpath>
                        <include name="**" />
                        <exclude name="tags/**" />
                </javac>
        </target>

<!-- #######################################################################
                T a r g e t : C o m p i l e
####################################################################### -->

        <target name="compile">
                <echo>Compiling ${ant.project.name}</echo>
                <mkdir dir="${webapp.path}/WEB-INF/classes"/>
                <javac includeAntRuntime="false" srcdir="src"
                                debug="on"
                                destdir="${webapp.path}/WEB-INF/classes">
                        <!--destdir="${webapp.path}/WEB-INF/classes">-->
                        <classpath>
                                <fileset dir="WebRoot/WEB-INF/lib">
                                        <include name="**/*.jar"/>
                                </fileset>
                                <fileset dir="${tomcat.home}/lib">
                                        <include name="**/*.jar"/>
                                </fileset>
                        </classpath>
                </javac>
                <copy file="src/in.xls"
                          tofile="${webapp.path}/WEB-INF/classes/com/xxx/ees/action/in.xls">

                </copy>
        <copy todir="${webapp.path}/WEB-INF/classes">
            <fileset dir="src">
                <include name="**"/>
                <exclude name="**/*.java"/>
                <exclude name="**/*.class"/>
            </fileset>
        </copy>

                         <echo>Finished compiling ${ant.project.name}</echo>
        </target>



        <!-- =================================
          target: deploy
         ================================= -->
    <target name="deploy" depends="war" description="--> deploys the war file locally">
        <copy todir="${tomcat.home}/webapps"  file="EES.war"/>
    </target>

        <target name="remotedeploy" depends="war">
                <scp keyfile="${user.home}/.ssh/id_dsa" passphrase="" file="EES.war"  remoteTodir="[email protected]:" verbose="true"/>
                <sshexec keyfile="${user.home}/.ssh/id_dsa" host="x.y.com" username="xxx"  command="/home/xxx/deployees"/>
        </target>

<!-- #######################################################################
                T a r g e t : C l e a n
####################################################################### -->
        <target name="clean">
                <echo>Cleaning ${ant.project.name}</echo>
                <delete dir="${webapp.path}" >
                </delete>
        </target>
</project>

有关如何修复的任何建议?

小桑蒂

我的猜测是Ant没有“看到”,TOMCAT_HOME因为在其中调用Ant的系统进程中没有定义该变量。

确保从同一个人使用系统文件来调用Ant,该系统用户TOMCAT_HOME的配置文件中有一个变量,并且在启动Ant时还保留了环境变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与函数相关时,环境变量无法正确扩展

来自分类Dev

无法获取环境变量

来自分类Dev

无法更改环境变量

来自分类Dev

Gulp使用browserify环境变量构建

来自分类Dev

Gulp使用browserify环境变量构建

来自分类Dev

Jenkins处理并发构建的环境变量

来自分类Dev

如何递归扩展环境变量?

来自分类Dev

从JSON文件扩展环境变量

来自分类Dev

从JSON文件扩展环境变量

来自分类Dev

从PIPE(SHELL)扩展环境变量

来自分类Dev

vim makeprg 进行环境变量扩展

来自分类Dev

用lein环构建的uberjar无法查看配置文件环境变量

来自分类Dev

Windows cordova构建错误:无法找到“ ANDROID_HOME”环境变量

来自分类Dev

使用Gradle任务构建映像时无法在Docker容器内设置环境变量

来自分类Dev

为什么有时无法扩展用户环境变量?

来自分类Dev

将此宏设置为构建环境中的环境变量?

来自分类Dev

TFS构建服务,环境变量和多个构建代理

来自分类Dev

无法回显环境变量

来自分类Dev

无法在命令前设置环境变量

来自分类Dev

工匠无法从$ _ENV访问环境变量

来自分类Dev

Python无法识别环境变量

来自分类Dev

无法从PHP访问ubuntu的环境变量

来自分类Dev

无法永久设置环境变量PATH

来自分类Dev

AWS SDK无法读取环境变量

来自分类Dev

无法在WSL中导出环境变量

来自分类Dev

Certbot无法找到环境变量凭证

来自分类Dev

无法正确设置环境变量

来自分类Dev

环境变量无法正常工作

来自分类Dev

无法识别环境变量的TypeScript声明