MXMLC在windows中编译时抛出java.lang.NullExceptionPointer(不在mac或ubuntu中)
我正在运行ant来编译Flex应用程序,当在windows命令行上运行它时,构建一直失败。我团队中的其他人可以在mac和linux下成功运行相同的构建 这是命令提示中显示的错误:MXMLC在windows中编译时抛出java.lang.NullExceptionPointer(不在mac或ubuntu中),windows,apache-flex,ant,nullpointerexception,mxmlc,Windows,Apache Flex,Ant,Nullpointerexception,Mxmlc,我正在运行ant来编译Flex应用程序,当在windows命令行上运行它时,构建一直失败。我团队中的其他人可以在mac和linux下成功运行相同的构建 这是命令提示中显示的错误: compile-main: [mxmlc] Loading configuration file C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\sdks\3.5.0\frameworks\flex-config.xml [mxmlc] Error: n
compile-main:
[mxmlc] Loading configuration file C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\sdks\3.5.0\frameworks\flex-config.xml
[mxmlc] Error: null
[mxmlc]
[mxmlc] java.lang.NullPointerException
[mxmlc] at flex2.compiler.CompilerSwcContext.createSource(CompilerSwcContext.java:353)
[mxmlc] at flex2.compiler.CompilerSwcContext.getSource(CompilerSwcContext.java:337)
[mxmlc] at flex2.compiler.API.findDefinition(API.java:2685)
[mxmlc] at flex2.compiler.API.resolveMultiName(API.java:3350)
[mxmlc] at flex2.compiler.API.resolveExpression(API.java:3193)
[mxmlc] at flex2.compiler.API.batch2(API.java:399)
[mxmlc] at flex2.compiler.API.batch(API.java:1117)
[mxmlc] at flex2.compiler.API.compile(API.java:1290)
[mxmlc] at flex2.compiler.API.compile(API.java:1210)
[mxmlc] at flex2.tools.Compiler.mxmlc(Compiler.java:275)
[mxmlc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[mxmlc] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[mxmlc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
[mxmlc] at flex.ant.FlexTask.executeInProcess(FlexTask.java:283)
[mxmlc] at flex.ant.FlexTask.execute(FlexTask.java:225)
[mxmlc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[mxmlc] at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
[mxmlc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
[mxmlc] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
[mxmlc] at org.apache.tools.ant.Target.execute(Target.java:390)
[mxmlc] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[mxmlc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[mxmlc] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[mxmlc] at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[mxmlc] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
[mxmlc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[mxmlc] at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
[mxmlc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
[mxmlc] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
[mxmlc] at org.apache.tools.ant.Target.execute(Target.java:390)
[mxmlc] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[mxmlc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[mxmlc] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[mxmlc] at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[mxmlc] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
[mxmlc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[mxmlc] at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
[mxmlc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
[mxmlc] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
[mxmlc] at org.apache.tools.ant.Target.execute(Target.java:390)
[mxmlc] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[mxmlc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[mxmlc] at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[mxmlc] at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[mxmlc] at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
[mxmlc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[mxmlc] at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source)
[mxmlc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[mxmlc] at java.lang.reflect.Method.invoke(Method.java:597)
[mxmlc] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[mxmlc] at org.apache.tools.ant.Task.perform(Task.java:348)
[mxmlc] at org.apache.tools.ant.Target.execute(Target.java:390)
[mxmlc] at org.apache.tools.ant.Target.performTasks(Target.java:411)
[mxmlc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[mxmlc] at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
[mxmlc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[mxmlc] at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[mxmlc] at org.apache.tools.ant.Main.runBuild(Main.java:809)
[mxmlc] at org.apache.tools.ant.Main.startAnt(Main.java:217)
[mxmlc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
[mxmlc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
BUILD FAILED
D:\workspaces\Adobe Flash Builder Burrito Preview\FlexProjects\build.xml:10: The following error occurred while executing this line:
D:\workspaces\Adobe Flash Builder Burrito Preview\FlexProjects\AdToolSSP\build.xml:33: The following error occurred while executing this line:
D:\workspaces\Adobe Flash Builder Burrito Preview\FlexProjects\AdToolSSP\build\build.xml:18: The following error occurred while executing this line:
D:\workspaces\Adobe Flash Builder Burrito Preview\FlexProjects\AdToolSSP\build\compileproject.xml:39: mxmlc task failed
Total time: 21 seconds
这是compileproject.xml生成文件中的特定目标:
<target name="compile-main" description="Compila la aplicación principal">
<mxmlc allow-source-path-overlap="${compiler.allow_overlap}"
debug="${compiler.debug}"
file="${app.main.mxml}"
fork="${compiler.fork}"
keep-generated-actionscript="${compiler.keep_gen_as}"
link-report="${flex.output.dir}/report.xml"
locale="${compiler.locale}"
maxmemory="256m"
optimize="${compiler.optimize}"
output="${app.main.swf}"
services="${flex.services.dir}/services-config.xml"
>
<!-- Get default compiler options -->
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
<!-- List of path elements that form the roots of ActionScript class hierarchies -->
<source-path path-element="${FLEX_HOME}/frameworks" />
<!-- Path to the locales -->
<source-path path-element="${flex.resources.dir}/locale/{locale}" />
<!-- List of SWC files or directories that contain SWC files -->
<compiler.library-path dir="${flex.libs.dir}" append="true">
<include name="**/as3-signals-v0.6.swc" />
<include name="**/datavisualization_rb.swc" />
<include name="**/datavisualization.swc" />
<include name="**/GenAocCairngorm.swc" />
<include name="**/GenAocLib.swc" />
</compiler.library-path>
<compiler.library-path dir="${flex.src.dir}/assets" append="true">
<include name="**/*.swc" />
</compiler.library-path>
</mxmlc>
</target>
所有令牌都设置在相应的build.properties和filter.properties文件中(正如我前面所说,它在mac和linux下可以完美编译)
windows版本是7 Ultimate,FLEX_HOME被设置为FLEX SDK 3.5(Adobe Flash Builder Burrito附带的3.5.0.12683版本)的环境变量${compiler.fork}设置为false,以避免SDK和源文件位于不同逻辑驱动器中的问题
如有任何线索,我们将不胜感激 可能是“玉米煎饼预览”的问题吧?您可以将此作为错误提交到。似乎问题出在其中一个SWC中,请尝试逐个删除它们。谢谢!你给我指明了正确的方向!仍在寻找,但它与GenAocCairngorm.swc(ant构建的前一步在该文件夹中生成和复制)有关。它可能与该库项目中的区域设置文件有关。致以最良好的问候,再次感谢;)谢谢你!我仔细检查了一下,以防万一,但这不应该(也不是)问题。我直接从下载了SDK(甚至尝试了3.6夜间构建),并修改了FLEX_HOME令牌以指向此SDK(而不是Burrito预览中的那个)。也不是权限问题(我将其全部移动到用户文档文件夹)。并将locale参数更改为en_US only(尽管我手动编辑的es_es和pt_BR在使用FB编译时可以无缝工作)。仍然是相同的java.lang.NullPointerException。