当前位置: 首页 > 知识库问答 >
问题:

强制MobileFirst-CLI使用Java6的推荐方法?

龙浩博
2023-03-14

我在OS X上,一直在使用Oracle的Java1.8。为了安装mfp,我确实必须安装Apple的旧Java 6,但至少mfp命令mfp build似乎会失败,除非我更改java_home环境变量以指向Java 6安装。

下面是我看到的输出:

$ 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

共有1个答案

闾丘卓
2023-03-14

这里最好的方法是使用前面提到的简单包装器脚本。这使您免受更新的影响。另外,请确保删除“/etc/profile”中的路径设置。很简单...

在bash中:

#!/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' } );
 类似资料:
  • 问题内容: 我已经看到了许多在API上使用注释以将其标记为“需要尽快替换”的示例。 但是,在几乎所有这些情况下,代码开发人员不仅继续使用已弃用的API,而且还抑制了弃用警告。 似乎API开发人员的最佳意图最终是创建更多与已实现的业务逻辑无关的代码- 如果不赞成使用API​​,但在抑制相关警告的情况下继续使用它,则似乎充其量只是代码的降级,并且在IMHO最差的情况下替换不推荐使用的库时,可能会导致应

  • 我使用hystrix api版本1.5.4。我看到的方法已被弃用。替代方法是什么?

  • 问题内容: 我在java 6上。用于读取用户输入。不推荐使用readLine()的情况。读取用户价值的方法是什么? 请在不建议使用readLine()时进行解释。 问题答案: 从根本上说是二进制结构。如果要读取 文本 数据(例如从控制台),则应使用某种描述。要将转换为,请使用。然后在周围创建一个,您可以使用读取一行。 更多选择: 使用内置回合,然后致电 使用(从中获得)并致电

  • 问题内容: 我正在使用org.apache.poi 3.15读取一个excel文件(文件扩展名为xlsx)。 这是我的代码: 我收到不推荐使用的警告。谁能告诉我替代方法? 问题答案: 接受的答案显示了弃用的原因,但未列出替代项: 其中是描述单元格类型的枚举。 计划是在POI 4.0中重命名回。

  • 本文向大家介绍使用Codeigniter重写insert的方法(推荐),包括了使用Codeigniter重写insert的方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 使用Codeiginter 框架插入数据时有唯一索引键值存在解决办法 对数据进行存储的时候,会有一些唯一索引的字段已经有值了,插入数据的时候会失败我们通常解决办法是先查询这个值是否存在,存在就跟新update,不存在就ins

  • 问题内容: 不推荐使用此调用: 在源文件中,我可以看到以下内容: 但是我不明白我必须使用哪种方法代替。 问题答案: 您可以在Hibernate 5.2 +中使用以下接口: