我正在关注this tutorial以了解Google App Engine(Java)的工作原理。我能够成功构建应用程序:
@implementation EventBridge
@synthesize bridge = _bridge;
RCT_EXPORT_MODULE();
- (instancetype) init {
self = [super init];
if ( self ) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cartUpdateNotification:)
name:kCartUpdateNotification
object:nil];
}
return self;
}
+ (void) addObserver:(id)observer selector:(SEL)selector {
[[NSNotificationCenter defaultCenter] addObserver:observer
selector:selector
name:kMenuClickNotification
object:nil];
}
/*
* objc -> js call
*/
+ (void) postEventWithName:(NSString *)name object:(id)object {
[[NSNotificationCenter defaultCenter]
postNotification:[NSNotification notificationWithName:name
object:object]];
}
/*
* js -> objc call when the hamburger is clicked
*/
RCT_EXPORT_METHOD(menuClicked)
{
// This method might be called on the different TopNavViewController object.
[[NSNotificationCenter defaultCenter] postNotificationName:kMenuClickNotification
object:nil];
}
- (void) cartUpdateNotification:(NSNotification*)notification {
[self.bridge.eventDispatcher sendAppEventWithName:@"CartUpdated" body:@{@"item":notification.object}];
}
@end
问题发生在Windows的最后(部署)阶段。该教程说有必要运行此命令(由于安全原因,数字cd appengine-try-java-master
mvn clean install
不是原始命令):
1111
我打开了appcfg.cmd -A master-scanner-1111 update target\appengine-try-java-1.0
并粘贴了这个命令。出现以下消息:
cmd
然后我只执行了appcfg.cmd is not recognized...
,但这并没有部署应用程序。
答案 0 :(得分:0)
问题在于,在之前的步骤中,他们为您提供了下载Google App Engine SDK的说明,但这只是一个目录包而不是安装程序(非常类似于java的打包方式)。 appcfg.cmd存在于该组目录中,因此用户需要将该包中的“bin”文件夹添加到其路径中(或者,如建议的那样,使用命令中的完整路径)。对于刚刚开始使用恕我直言的人来说,Google文档并不具体。我遇到了同样的问题。