Sencha Cmd构建错误:java.lang.NullPointerException

时间:2013-10-15 14:16:02

标签: cmd sencha-touch-2 sencha-cmd

运行生产版本时出现此错误:

  

[DBG]扫描文件夹中的插件:C:\ Users \ Jez \ bin \ Sencha \ Cmd \ 4.0.0.203 \ extensions \ sencha-io   [ERR] java.lang.NullPointerException        在java.io.File。(未知来源)        在com.sencha.util.FileUtil.readFile(FileUtil.java:170)        在com.sencha.tools.compiler.jsb.projects.JsbBuilder.processBuild(JsbBuilder.java:29)        在com.sencha.command.build.JsbCommand.execute(JsbCommand.java:15)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)        at java.lang.reflect.Method.invoke(Unknown Source)        在com.sencha.util.MethodInvoker $ Arguments.invoke(MethodInvoker.java:174)        在com.sencha.cli.Command.dispatch(Command.java:42)        在com.sencha.cli.Commands.dispatch(Commands.java:68)        在com.sencha.command.Sencha.dispatch(Sencha.java:81)        在com.sencha.command.Sencha.main(Sencha.java:149)

任何人都可以告诉我它意味着什么以及如何纠正它

Sencha Touch 2.3.0 Sencha Command 4.0.0.203

由于

3 个答案:

答案 0 :(得分:2)

查看堆栈跟踪:

[DBG] Scanning for plugins in folder: C:\Users\Jez\bin\Sencha\Cmd\4.0.0.203\extensions\sencha-io 

您的应用是否尝试使用Sencha IO?因为错误似乎表明Cmd正在寻找该位置的扩展......并且该包不存在(NullPointerException)。

假设我是对的,如果您正在运行 sencha app build ,我建议您删除应用中对Sencha IO的任何引用,以查看是否正常工作。然后,您可能必须更正Cmd查找Sencha IO软件包的路径。

答案 1 :(得分:0)

Sencha IO位于日志中提到的位置。这是一个JAR文件。我跑了,然后又尝试了一个版本。这似乎解决了这个问题。

答案 2 :(得分:0)

我注意到当你使用插件时出现这样的问题,即使我已经经历过这样的错误。因此,请确保您是否已使用插件并获取此错误然后放置。

执行以下步骤:

1>将你的插件文件放在=>内的 C:\ your_path \ project_folder \触摸\ SRC \ UX

2 - ;现在打开 app.json 并将插件的路径写入其资源数组中,如下所示:

"resources": [
    "resources/images",
    "resources/icons",
    "resources/startup",
    "resources/data/",
    "resources/css/",
    "resources/fonts/",
    "touch/src/ux/Ext.ux.Multiselect.js"
    "touch/src/ux/TouchCalendar.js",        
    "touch/src/ux/TouchCalendarView.js",
    "touch/src/ux/Ext.ux.TouchCalendarEvents.js",
    "touch/src/ux/Ext.ux.TouchCalendarEventsBase.js",
    "touch/src/ux/Ext.ux.TouchCalendarMonthEvents.js"

],

3>现在从以下路径 C:\ your_path \ project_folder.sencha \ app \ sencha.cfg

打开 sencha.cfg

添加此路径 $ {app.dir} / touch / src / ux ,如代码所示

app.name=SS

app.framework=touch

app.classpath=${app.dir}/app.js,${app.dir}/app,${app.dir}/touch/src/ux 

# this property specifies a comma separated list of paths containing
# resources to copy to the build directory
app.resource.paths=

app.build.dir=${workspace.build.dir}/${app.name}

app.framework.version=2.3.1.410
app.cmd.version=4.0.2.67

4>现在,从您的项目路径中运行终端 sencha app build 中的命令。