【发布时间】:2015-06-05 23:34:27
【问题描述】:
问题背景: 我们最初使用 Eclipse 的 MFP Studio 插件 v7.0 创建了一个 MFP 项目(iOS 的原生 API)。我们将这个项目置于源代码控制之下(Git on DevOps)。
问题: 从 Git 拉下 MFP 项目代码(新拉)后,如果首先使用 Studio 来“部署 Native API”和“部署 Mobile First Adapters”,那么一切都编译、构建和部署得很好。然后我们就可以很好地从 Studio 调用适配器,没有任何问题。这样做之后,我们还可以切换到 MFP CLI 来构建和部署工件,并且 CLI 命令可以正常工作。
现在,如果在从 Git 中提取代码(新鲜拉取)后,我们没有使用 Studio,而是立即开始使用 MFP CLI 来构建和部署工件,则会出现错误。 MFP CLI 似乎缺少 Studio 知道如何执行的步骤。在从 Git 重新拉取后立即使用 CLI 进行构建和部署 (mfp bd) 时,我们遇到的错误如下:
$ mfp 信息 操作系统:达尔文 x64 发布:14.3.0 系统内存:16384 MB 中有 2845 MB 可用 节点:v0.10.30 MobileFirst CLI:7.0.0.00.20150430-1604 当前目录:/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp
当前项目:/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp
适配器:LoyaltyPushAdapter (/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/adapters/LoyaltyPushAdapter/LoyaltyPushAdapter.xml) 描述: LoyaltyPushAdapter 类型:http 程序:提交通知
适配器:LoyaltyUserAdapter (/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/adapters/LoyaltyUserAdapter/LoyaltyUserAdapter.xml) 描述:忠诚用户适配器 类型:java 过程:[不适用于 Java 适配器]
应用程序:忠诚度(/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/apps/Loyalty/application-descriptor.xml) 说明:忠诚 类型:原生ios
服务器位置:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server 服务器二进制文件:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server/wlp/bin/server MobileFirst 实例:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server/wlp/usr/servers/worklight objc[4021]:类 JavaLaunchHelper 在 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/bin/java 和 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents 中实现/Home/jre/lib/libinstrument.dylib。将使用两者之一。哪一个是未定义的。 Java HotSpot(TM) 64 位服务器 VM 上的 WebSphere Application Server 8.5.5.4 (1.0.7.cl50420141121-1414),版本 1.7.0_75-b13(en_US)
环境变量: TERM_PROGRAM:Apple_Terminal ANDROID_HOME:/Users/olivieri/android-sdks 术语:xterm-256color 外壳:/bin/bash TMPDIR:/var/folders/c9/gf_f0_sd60q1mm9kxwgvlxsr0000gn/T/ Apple_PubSub_Socket_Render:/private/tmp/com.apple.launchd.QL5sT9RU2F/Render TERM_PROGRAM_VERSION:343.7 TERM_SESSION_ID:6798439A-3592-4D5C-ABFE-7A2E2D5D80BA ANT_HOME:/Users/olivieri/Development/apache-ant-1.9.4 用户:奥利维耶里 SSH_AUTH_SOCK:/private/tmp/com.apple.launchd.E1N6IPACu1/Listeners __CF_USER_TEXT_ENCODING: 0x1F5:0x0:0x0 路径:/Users/olivieri/Development/apache-ant-1.9.4/bin:/Users/olivieri/Development/checker-276:/usr/local/bin:/usr/bin:/bin:/usr/sbin: /sbin:/opt/X11/bin:/Applications/IBM/MobileFirst-CLI:/Applications/IBM/MobileFirst-CLI:/Users/olivieri/Development/gradle-2.3/bin:/Users/olivieri/android-sdks/工具:/Users/olivieri/android-sdks/platform-tools 密码:/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp JAVA_HOME:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home 朗:en_US.UTF-8 XPC_FLAGS:0x0 XPC_SERVICE_NAME:0 主页:/用户/olivieri SHLVL: 2 LOGNAME:奥利维耶里 显示:/private/tmp/com.apple.launchd.qHj5hi31Kp/org.macosforge.xquartz:0 _:/Applications/IBM/MobileFirst-CLI/IBMnode/bin/node WLP_USER_DIR:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server/wlp/usr
$ mfp 重启 objc[4345]:JavaLaunchHelper 类在 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/bin/java 和 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents 中实现/Home/jre/lib/libinstrument.dylib。将使用两者之一。哪一个是未定义的。 停止服务器工作灯。 服务器工作灯已停止。 初始化 MobileFirst 控制台。 objc[4386]:类 JavaLaunchHelper 在 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/bin/java 和 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents 中实现/Home/jre/lib/libinstrument.dylib。将使用两者之一。哪一个是未定义的。 启动服务器工作灯。 服务器工作灯以进程 ID 4385 开始。 Ricardos-MBP:LoyaltyReadyApp olivieri$
$ mfp bd [错误: 构建失败 /Applications/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml:135:执行此行时发生以下错误: /Applications/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml:167:执行此行时出现以下错误: /Applications/IBM/MobileFirst-CLI/mobilefirst-cli/node_modules/generator-worklight-server/lib/build.xml:185:适配器“LoyaltyUserAdapter”的构建失败。失败消息是:'/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/adapters/LoyaltyUserAdapter/lib 不存在。'。失败可能是由于 Java 代码不正确、JDK 级别不兼容、JAVA_HOME 未指向有效 JDK 的位置或缺少依赖项造成的。请注意,在构建 Java 适配器时,worklight-jee-library.jar 必须位于类路径中。
总时间:2秒 ] 错误:抱歉,发生了错误。详情请查看上面的堆栈。
我们的 JAVA_HOME 设置正确,并且我们使用的是兼容的 JDK 级别。
关于可能导致此错误的原因有什么想法吗?
【问题讨论】:
标签: ibm-mobilefirst mobilefirst-studio mobilefirst-cli