我在OS上,一直在使用Oracle的Java1.8。为了安装mfp,我确实必须从苹果安装旧的Java6,但它似乎也是某些mfp命令(至少mfp build )失败的原因,除非我将mfp环境变量更改为指向Java6安装。
下面是我看到的输出:
$ 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。)
发布于 2015-06-09 21:12:41
这里最好的方法是像前面提到的那样有一个简单的包装脚本。这保证了你不受更新的影响。另外,一定要删除"/etc/profile“中的路径设置。很简单..。
在巴什:
#!/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 $@在节点..。
#!/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' } );希望这能有所帮助。
发布于 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中,如下所示:
#### ORACLE JAVA
#export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home"https://stackoverflow.com/questions/30735125
复制相似问题