生成Sencha Touch 2 app nullpointer错误

时间:2014-01-27 00:27:02

标签: linux sencha-touch-2

我正在尝试使用以下内容生成新应用:

root@li184-76:/var/www/touch-2.3.1# sencha generate app NewApp ../newapp

但是,我得到以下内容:

    Sencha Cmd v4.0.1.4
    [INF] Workspace does not have framework touch at /var/www ... copying
[ERR] java.lang.NullPointerException
     at com.sencha.util.Version.<init>(Version.java:36)
     at com.sencha.command.generator.GeneratorCommands$WorkspaceCommand.getParameters(GeneratorCommands.java:130)
     at com.sencha.command.BasePluginCommands$BasePluginCommand.doExecute(BasePluginCommands.java:23)
     at com.sencha.command.generator.GeneratorCommands$WorkspaceCommand.execute(GeneratorCommands.java:89)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:622)
     at com.sencha.util.MethodInvoker$Arguments.invoke(MethodInvoker.java:175)
     at com.sencha.cli.Command.dispatch(Command.java:42)
     at com.sencha.cli.Commands.dispatch(Commands.java:64)
     at com.sencha.cli.AbstractCommand.dispatch(AbstractCommand.java:124)
     at com.sencha.command.generator.GeneratorCommands$AppCommand.generateWorkspace(GeneratorCommands.java:397)
     at com.sencha.command.generator.GeneratorCommands$AppCommand.execute(GeneratorCommands.java:240)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:622)
     at com.sencha.util.MethodInvoker$Arguments.invoke(MethodInvoker.java:175)
     at com.sencha.cli.Command.dispatch(Command.java:42)
     at com.sencha.cli.Commands.dispatch(Commands.java:64)
     at com.sencha.cli.Commands.dispatch(Commands.java:64)
     at com.sencha.command.Sencha.dispatch(Sencha.java:80)
     at com.sencha.command.Sencha.main(Sencha.java:148)

令人困惑的是我之前已经生成了应用程序。我不知道为什么我创造新的尝试失败了。

注意:

我尝试升级Sencha但它似乎确实具有欲望效果,如下所示:

root@li184-76:/var/www/touch-2.3.1# sencha upgrade
Sencha Cmd v4.0.1.45
[INF] Determining the latest version of Sencha Cmd
[INF] The latest version of Sencha Cmd is 4.0.2.67
[INF] Sencha Cmd 4.0.2.67 is already installed

更新

我尝试从TOUCH文件夹外部生成应用程序,但我收到一个关于SampleApp已经存在的奇怪错误。我在目标目录中没有任何名为SampleApp的内容。 数据如下:

root@li184-76:/var/www# sencha -sdk /var/www/touch-2.3.1/ generate app MyApp /var/www/myapp
Sencha Cmd v4.0.1.45
[ERR] Path /var/www/myapp is already a configured application named : SampleApp
[ERR] Path /var/www/myapp is already configured for application SampleApp
root@li184-76:/var/www# 

3 个答案:

答案 0 :(得分:5)

感谢arthurakay和Anand Gupta提供的帮助,我最终想出了问题。

发生的事情是在某些时候我通过尝试在同一个i:e / var / www目录中生成一个sencha应用程序来破坏我的/ var / www目录。这是造成所有破坏的错误。

幸运的是,我碰巧列出了所有隐藏文件并找到了一个 .sencha 文件夹,这就是为什么它一直在抱怨 SampleApp ,正如我的问题的更新部分所述

一旦我删除了.sencha文件夹和其他相关数据,事情就会超越其他挑战。

再次感谢您的所有投入。

答案 1 :(得分:2)

您发布的堆栈跟踪似乎没有太多信息...但我注意到您的命令

sencha generate app NewApp ../newapp

不包含 -sdk 标志。如果从里面一个Sencha Touch文件夹运行命令,那么你就不需要 -sdk 标志......但是如果你在文件系统的其他任何地方你需要告诉Sencha Cmd使用哪个SDK。

答案 2 :(得分:1)

我没有看到任何问题的原因。你可以尝试这个,而不是从sdk文件夹中运行命令,使用以下命令从外部运行它:sencha -sdk /path/to/sencha-touch-sdk generate app MyApp /path/to/www/myapp