使用WS_ANT可以很好地运行ANT,但在RAD中运行失败

时间:2011-08-15 08:24:05

标签: ant websphere websphere-7 ibm-rational

只是尝试在IBM RAD \ RSA 8中运行ANT脚本以部署到websphere。 使用WS_ANT.bat从命令提示符运行时它工作正常但在RAD内部失败并出现以下错误

Unable to determine WAS Home directory. Please use the wasHome task attribute or set the was.root System property.

以下是从SO复制的基本ANT脚本和Modified再次从WS_ANT运行良好,但不是从RAD

运行
<?xml version="1.0"?>
<projectname="project"default="wasListApps"basedir=".">
        <description>
        Script for listing installed apps.
        Example run from:
        /opt/IBM/SDP70/runtimes/base_v61/profiles/AppSrv01/bin
    </description>

        <propertyname="was_home"location="C:\Program Files\ibm\SDP80\runtimes\base_v7"/>       

        <pathid="was.runtime">
                <filesetdir="${was_home}/lib">
                        <includename="**/*.jar"/>
                </fileset>
                <filesetdir="${was_home}/plugins">
                        <includename="**/*.jar"/>
                </fileset>
        </path>
        <propertyname="was_cp"value="${toString:was.runtime}">
        </property>
        <propertyname="was_server"value="server1"/>
        <propertyenvironment="env">
        </property>

        <targetname="wsStopServer">
                <taskdefname="wsStopServer"classname="com.ibm.websphere.ant.tasks.StopServer"classpath="${was_cp}">
                </taskdef>
                <wsStopServerserver="${was_server}"failonerror="false"/>
        </target>

        <targetname="wsStartServer" depends="wsStopServer">
                        <taskdefname="wsStartServer"classname="com.ibm.websphere.ant.tasks.StartServer"classpath="${was_cp}">
                        </taskdef>
                        <wsStartServerserver="${was_server}"failonerror="true"/>
                </target>


        <targetname="wasListApps"depends="wsStartServer">
                <taskdefname="wsListApp"classname="com.ibm.websphere.ant.tasks.ListApplications"classpath="${was_cp}">
                </taskdef>
                <wsListAppwasHome="${was_home}"/>
        </target>

</project>

1 个答案:

答案 0 :(得分:0)

如果您查看 ws_ant.bat 文件,您会发现它首先调用 setupCmdLine.bat ,您猜对了,设置命令行。该文件尝试通过将其设置为父目录来确定 WAS_HOME 环境变量。

SET CUR_DIR=%cd%
cd /d "%~dp0.."
SET WAS_HOME=%cd%
cd /d "%CUR_DIR%"

从命令行运行时,这很好。您通常位于〜/ SDP / runtimes / base_v7 / bin(或其他服务器版本)目录中。父母是你想去的地方。

我会考虑在运行ws_ant.bat脚本时设置工作目录。这可能是最可能的原因。