首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制MobileFirst-CLI使用Java 6的推荐方法?

强制MobileFirst-CLI使用Java 6的推荐方法?
EN

Stack Overflow用户
提问于 2015-06-09 14:33:57
回答 2查看 517关注 0票数 1

我在OS上,一直在使用Oracle的Java1.8。为了安装mfp,我确实必须从苹果安装旧的Java6,但它似乎也是某些mfp命令(至少mfp build )失败的原因,除非我将mfp环境变量更改为指向Java6安装。

下面是我看到的输出:

代码语言:javascript
复制
$ mfp build
[Error: 
BUILD FAILED
/Applications/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml:133: The following error occurred while executing this line:
/Applications/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml:155: Class not found: javac1.8

Total time: 1 second]
Error: Sorry an error has occurred. Please check the stack above for details.
$ JAVA_HOME=/Library/Java/Home mfp build
All apps and adapters were successfully built.
$

对于我来说,为mfp重写JAVA_HOME的最好方法是什么?我应该编辑/Applications/IBM/MobileFirst-CLI/mfp吗?

(FYI,"javac1.8 class not found“错误是Ant < 1.9的已知问题,我假设它与MobileFirst-CLI捆绑在一起,因为我在系统上安装了Ant1.9.4。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-09 21:12:41

这里最好的方法是像前面提到的那样有一个简单的包装脚本。这保证了你不受更新的影响。另外,一定要删除"/etc/profile“中的路径设置。很简单..。

在巴什:

代码语言:javascript
复制
#!/bin/bash
#--------------------------------------------------------------------
# Simple multi-MFP launcher script
# Karl Bishop <kfbishop@us.ibm.com>
#--------------------------------------------------------------------

#-- Set specific Java Runtime?
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

#-- MFP Home directory for custom runtimes
MFP_HOME="${HOME}/dev/mobilefirst"

#-- Set specific Java Runtime
export PATH=$JAVA_HOME/bin:$PATH
echo "Using Java: ${JAVA_HOME}"

#-- Launch custom MFP
${MFP_HOME}/mobilefirst-cli/bin/mobilefirst-cli.js $@

在节点..。

代码语言:javascript
复制
#!/usr/bin/env node
//--------------------------------------------------------------------
// Simple multi-MFP launcher script
// Karl Bishop <kfbishop@us.ibm.com>
//--------------------------------------------------------------------
var spawn  = require('child_process').spawn;
var MFP_HOME = process.env.HOME + "/dev/mobilefirst",
    MFP_CMD = MFP_HOME+"/mobilefirst-cli/bin/mobilefirst-cli.js",
    JAVA_HOME = "/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home";

process.env['JAVA_HOME'] = JAVA_HOME;
process.env['PATH']      = JAVA_HOME+"/bin:" + process.env['PATH'];
console.log("Using Java:", CFG.JAVA_HOME);        //-- Launch custom MFP
spawn( MFP_CMD, args, { stdio:'inherit' } );

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2015-06-09 15:02:53

到7.0版的Worklight/MFP目前不支持Java 8。必须使用Java 6或7。

因此,推荐的方法是卸载Java 8并安装Java 6或7。

如果要“强制”MFP使用不同的Java版本,请在JAVA_HOME变量中设置该版本。

我把它设置在~/..bash_profile中,如下所示:

代码语言:javascript
复制
#### ORACLE JAVA
#export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30735125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档