OK, I built FalconJX but how do I use it properly? Simply running mxmlc
without a command line gives an error:
D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.jx\bin>mxmlc
Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
Exception in thread "main" java.lang.UnsupportedOperationException
at
org.apache.flex.compiler.internal.driver.as.ASBackend.getSourceFileHandlerIn
stance(ASBackend.java:70)
at org.apache.flex.compiler.clients.MXMLJSC.<init>(MXMLJSC.java:201)
at org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:169)
Looks like it selects AS backend where getSourceFileHandlerInstanceI() is
not implemented.
>From the MXMLJSC.java I can see it expects a -js-output-type= parameter.
Calling with any of -js-output-type=flexjs, -js-output-type=good or
-js-output-type=amd results in another error in
WorkspaceProblemFormatter.java but I do not even have the source file in my
org/apache/flex/compiler/clients/problems directory.
Here is the error:
D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.jx\bin>mxmlc
-js-output-type=flexjs
D:\WORK\Projects\ApacheFlex\repo\falcon\trunk\compiler.js\tests\TestApp.as
Using Flex SDK: D:\WORK\Projects\ApacheFlex\repo\sdk\branches\develop
Exception in thread "main" com.google.common.collect.ComputationException:
java.lang.IllegalAccessError: tried to access method
com.google.common.collect.MapMaker.maximumSize(I)Lcom/google/common/collect/
MapMaker; from class
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$FileLine
Info
at
com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:887
)
at
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter.getLineT
ext(WorkspaceProblemFormatter.java:207)
at
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter.format(W
orkspaceProblemFormatter.java:132)
at
org.apache.flex.compiler.clients.problems.ProblemPrinter.printProblems(Probl
emPrinter.java:90)
at
org.apache.flex.compiler.clients.MXMLJSC.mainNoExit(MXMLJSC.java:225)
at org.apache.flex.compiler.clients.MXMLJSC.main(MXMLJSC.java:171)
Caused by: java.lang.IllegalAccessError: tried to access method
com.google.common.collect.MapMaker.maximumSize(I)Lcom/google/common/collect/
MapMaker; from class
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$FileLine
Info
at
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$FileLine
Info.<init>(WorkspaceProblemFormatter.java:258)
at
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$1.apply(
WorkspaceProblemFormatter.java:103)
at
org.apache.flex.compiler.clients.problems.WorkspaceProblemFormatter$1.apply(
WorkspaceProblemFormatter.java:98)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference
.compute(ComputingConcurrentHashMap.java:356)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.comput
e(ComputingConcurrentHashMap.java:182)
at
com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrC
ompute(ComputingConcurrentHashMap.java:151)
at
com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingC
oncurrentHashMap.java:67)
at
com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:883
)
... 5 more
Also tried compiling the FlexJSTest_again and get exact same error message.
Did I build FalconJX incorrectly or am I using it incorrectly?
Thanks.
-----Original Message-----
From: Alex Harui [mailto:[email protected]]
Sent: Thursday, April 04, 2013 5:59 PM
To: [email protected]
Subject: Re: Error compiling TestApp sample using FalconJS
The classpaths may have changed to break just running mxmlc from the bin
directory. I would recommend getting set up on FalconJX instead if you are
planning to contribute code going forward. If you want to try to use
FalconJS for now, then use the FlexJSOverlay.zip as it sets up the classes
in the class path properly.