0

问题背景: 我们最初使用 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 info OS: darwin x64 Release: 14.3.0 System Memory: 2845 MB free out of 16384 MB Node: v0.10.30 MobileFirst CLI: 7.0.0.00.20150430-1604 Current directory: /Users/olivieri/git/Ready.App .5.忠诚度/忠诚度ReadyApp

当前项目:/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp

适配器:LoyaltyPushAdapter (/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/adapters/LoyaltyPushAdapter/LoyaltyPushAdapter.xml) 描述:LoyaltyPushAdapter 类型:http 程序:submitNotification

适配器:LoyaltyUserAdapter (/Users/olivieri/git/Ready.App.5.Loyalty/LoyaltyReadyApp/adapters/LoyaltyUserAdapter/LoyaltyUserAdapter.xml) 描述:LoyaltyUserAdapter 类型: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]:在 /Library/Java/JavaVirtualMachines/jdk1 中都实现了 JavaLaunchHelper 类。 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 TERM: xterm-256color SHELL: /bin/bash TMPDIR: /var/folders/c9/gf_f0_sd60q1mm9kxwgvlxsr0000gn/T/ Apple_PubSub_Socket_Render: /private/tmp/com.apple .launchd.QL5sT9RU2F/渲染 TERM_PROGRAM_VERSION:343.7 TERM_SESSION_ID:6798439A-3592-4D5C-ABFE-7A2E2D5D80BA ANT_HOME:/Users/olivieri/Development/apache-ant-1.9.4 用户:olivieri SSH_AUTH_SOCK:/comprivate.t 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/tools:/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 LANG : en_US.UTF-8 XPC_FLAGS: 0x0 XPC_SERVICE_NAME: 0 HOME: /Users/olivieri SHLVL: 2 LOGNAME: olivieri DISPLAY: /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/Applications/IBM/MobileFirst-CLI/IBMnode/bin/node WLP_USER_DIR:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server/wlp/usr/Applications/IBM/MobileFirst-CLI/IBMnode/bin/node WLP_USER_DIR:/Users/olivieri/.ibm/mobilefirst/7.0.0.00.20150430-1556/server/wlp/usr

$ mfp restart 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 的位置或缺少依赖项造成的。

总时间:2 秒] 错误:抱歉,发生了错误。请检查上面的堆栈以获取详细信息。

我们的 JAVA_HOME 设置正确,并且我们使用的是兼容的 JDK 级别。

关于可能导致此错误的原因的任何想法?

4

1 回答 1

1

你确定在 java-adapter-folder\lib 文件夹中放置了一个 .gitkeep 文件吗?该文件夹默认为空,GIT 不保留空文件夹,因此从 GIT 下载此项目时,该文件夹将丢失,但构建过程可能需要它。

尝试添加丢失的文件夹,看看是否有帮助。根据结果​​,我们将有一个行动项目。

于 2015-06-06T00:41:34.203 回答