当前位置: 技术问答>linux和unix
紧急求助 关于在solaris 5.8下使用make和ant
来源: 互联网 发布时间:2016-11-03
本文导语: 本帖最后由 sunxing007 于 2011-01-12 14:28:41 编辑 接手一个升级项目, 遇到编译方面的问题. 我编译时要执行的脚本顺序如下: 1 cvs checkout; 2 运行xenv, xenv是本公司特有的一个类似Maven的东西, 用来集中管理组件依赖的,运...
1 cvs checkout;
2 运行xenv, xenv是本公司特有的一个类似Maven的东西, 用来集中管理组件依赖的,运行xenv后会把一些项目依赖的组件放到PATH里面去;
3 make -f myproject.mk. 它会调用ant, ant里面会调用javac, ejbgen, apt等等很多java编译工具.
myproject.mk的内容如下
#####################################################################
HOST :sh = hostname
DISPLAY=${HOST}:0.0
include $(ROOT)/MacroRules
INSDIR = $(ROOT)/install
ENV = dev
SRV_INSDIR = $(ROOT)/install/srv
PKGDIR = $(ROOT)/pkg
ORDER=
scripts
properties
#我在此处指定的JAVA_HOME无效
JAVA_HOME=/xenv/WLPlatform/X/10.2/jdk150_11
export JAVA_HOME
ALL_ORDER = $(ORDER)
buildapp: FRC
echo "*** Build for ProjectionPoc 'buildapp' target STARTED: `date`"
echo "$(PATH)"
#我在此处指定的JAVA_HOME也无效
JAVA_HOME=/xenv/WLPlatform/X/10.2/jdk150_11
export JAVA_HOME
echo "$(JAVA_HOME)"
PATH="$(JAVA_HOME)/bin$(PATH)"
echo $(PATH)
#在下面通过参数指定的JAVA_HOME也无效
ant -f ${ROOT}/src/amisApp/buildProj.xml -Dprojects=ALL -DJAVA_HOME=/xenv/WLPlatform/X/10.2/jdk150_11 -DPATH=$(JAVA_HOME)/bin$(PATH) -verbose build-app
......(略)
#####################################################################
由于权限的原因,目前我唯一能够修改的文件就是myproject.mk, 我现在需要做的是,想办法使ant能够使用/xenv/WLPlatform/X/10.2/jdk150_11目录下的java进行编译而不时其他地方的java. 但是正如我在myproject.mk中注释的一样, 我想了很多办法设置java home但是都无效, 当运行到ant命令的时候, ant提示它找到的java为:
Detected Java version: 1.2 in: /usr/java1.2/jre
我不知道为什么它会找到这里来.
由于项目比较紧急,而且我对make和ant都不熟悉, 虽然ant中的javac可以指定java编译器的路径,但是因为我们不光用javac编译,还用了很多拓展工具, 这些工具不是每一个都能够指定java编译器路径的.
所以请大家帮忙, 看怎么能让我的ant使用/xenv/WLPlatform/X/10.2/jdk150_11 这个java编译. 谢谢了.
懂的朋友讲讲ant是按照什么样的路径搜索并使用java的.
|
没用过ant,试试
JAVA_HOME=/xenv/WLPlatform/X/10.2/jdk150_11 PATH=$(JAVA_HOME)/bin:$(PATH) ant ...
JAVA_HOME=/xenv/WLPlatform/X/10.2/jdk150_11 PATH=$(JAVA_HOME)/bin:$(PATH) ant ...