Linux下Ant打包APK,JAVA_HOME is not defined correctly

Mr_RiceMa 2014-11-15 05:18:55
CentOS系统,原来使用的是系统自带的openjdk1.7,后来我安装成了jdk1.6版本,而且把自带的openjdk删除了
问题是,我使用root用户登录系统可以使用ant命令进行打包,而使用程序执行ant自动打包命令就会
报错:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/lib/jvm/jre-1.7.0/bin/java

我很郁闷,我已经用update-alternatives 命令指定了默认的java和javac
新的jdk是安装在/usr/java目录下的
环境变量也都写到profile文件中了

JAVA_HOME=/usr/java/jdk1.6.0_33
JRE_HOME=/usr/java/jdk1.6.0_33/jre
ANT_HOME=/usr/local/apache-ant-1.9.4
ANDROID_HOME=/usr/local/adt-bundle-linux-x86_64-20130522/sdk
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/android-4.2.2:$ANDROID_HOME/platforms/android-17:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE_HOME ANT_HOME ANDROID_HOME PATH CLASSPATH

程序中的命令是这样:String[] cmd = { "/bin/sh", "-c", " ant deploy -file " + filePath};
难道是因为执行用户的问题?拜托了,各位大神!
...全文
796 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_39688125 2017-08-01
  • 打赏
  • 举报
回复
我也遇到这个问题了。我发现是用windows环境的jdk包,放在linux环境的问题
光咣1992 2017-03-13
  • 打赏
  • 举报
回复
楼主大神 收下我的膝盖吧!!!纠结了几天的问题,终于看了您的帖子,改了配置,得到了答案!!!!!您就是一尊神,就是尝百草的神农氏,就是栽树的前人,多谢!!!!!!
ljc007 2014-11-17
  • 打赏
  • 举报
回复
引用 5 楼 leobush1990 的回复:
我将 /usr/local/apache-ant-1.9.4/bin下的ant文件 JAVACMD="$JAVA_HOME/bin/java" 修改为 JAVACMD="/usr/java/jdk1.6.0_33/bin/java" 暂时能用了
如果没有其它问题,请点击左上角“结帖”按钮。
ljc007 2014-11-17
  • 打赏
  • 举报
回复
引用 3 楼 leobush1990 的回复:
ftp上传的java文件,调用执行的,该用户是nologin环境在哪找?
nologin的用户不会执行profile里面的设置
yc8332 2014-11-15
  • 打赏
  • 举报
回复
这说明运行该脚本的用户shell环境是错的,和你设置的不一样啊。就是环境设置问题
  • 打赏
  • 举报
回复
one possibility is when ant was compiled, java_home is hard wired. is java available at /usr/lib/jvm/jre-1.7.0/bin/?
Mr_RiceMa 2014-11-15
  • 打赏
  • 举报
回复
我将 /usr/local/apache-ant-1.9.4/bin下的ant文件 JAVACMD="$JAVA_HOME/bin/java" 修改为 JAVACMD="/usr/java/jdk1.6.0_33/bin/java" 暂时能用了
Mr_RiceMa 2014-11-15
  • 打赏
  • 举报
回复
引用 1 楼 micropentium6 的回复:
one possibility is when ant was compiled, java_home is hard wired. is java available at /usr/lib/jvm/jre-1.7.0/bin/?
那个版本的已经删除不存在了,我配置了新的java_home了啊
Mr_RiceMa 2014-11-15
  • 打赏
  • 举报
回复
引用 2 楼 yc8332 的回复:
这说明运行该脚本的用户shell环境是错的,和你设置的不一样啊。就是环境设置问题
ftp上传的java文件,调用执行的,该用户是nologin环境在哪找?

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧