我正在尝试为 Spring 框架项目设置与机器无关的构建环境,而我的 ant 配置似乎无法正常工作。我已经搜索了很多,但似乎每个人都认为 env.* 引用开箱即用。有人可能会发现我的方式的错误吗?
错误:
bash-3.1$ ant build
Buildfile: c:\Users\mkumpan\Projects\Spring testing\build.xml
BUILD FAILED
c:\Users\mkumpan\Projects\Spring testing\build.xml:85: c:\Users\mkumpan\Projects\Spring testing\${env.CATALINA_HOME}\lib does not exist.
构建.xml:85:
<taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
catalina-ant-classpath 参考:
<path id="catalina-ant-classpath">
<fileset dir="${appserver.lib}">
<include name="catalina-ant.jar"/>
</fileset>
</path>
在 build.properties 中声明的 ${appserver.lib}:
appserver.home=${env.CATALINA_HOME}
appserver.lib=${appserver.home}/lib
deploy.path=${appserver.home}/webapps
呼应环境变量的工作原理:
bash-3.1$ echo $CATALINA_HOME
C:\Program Files\Tomcat
两个大问题:
- 为什么它不解析出envvar?
- 为什么它会在envvar的绝对路径前面加上?