[ 
https://issues.apache.org/jira/browse/FLEX-33196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13454831#comment-13454831
 ] 

Raju Bitter commented on FLEX-33196:
------------------------------------

As of revision 1384279, the classpath within the manifest file has been updated 
to contain the correct JARs, but the path to the JAR file is incorrent - since 
it contains an addition 'lib/' folder before the JAR name.

Gordon added a new property to the compiler/build.xml:
    <!-- The .. here allows the compiler to load the env.properties file -->
    <property name="compiler.jar.dependencies" value="lib/antlr.jar 
lib/commons-cli.jar lib/commons-io.jar lib/guava.jar lib/lzma-sdk.jar .." />

This property is used to create the compiler.jar manifest file:
        <jar file="${compiler.jar}" basedir="${classes.dir}" 
includes="**/*.properties,org/apache/**/*" 
excludes="${compiler.ant.binaries},${compiler.font.binaries}">
            <manifest>
                ....
                <attribute name="Class-Path" 
value="${compiler.jar.dependencies}" />
            </manifest>
        </jar>

The resulting manifest Class-path value:
Class-Path: lib/antlr.jar lib/commons-cli.jar lib/commons-io.jar lib/g
 uava.jar lib/lzma-sdk.jar ..

To fix this, just remove the 'lib/' path entries in the compiler/build.xml 
compiler.jar.dependencies property:
    <property name="compiler.jar.dependencies" value="antlr.jar commons-cli.jar 
commons-io.jar guava.jar lzma-sdk.jar .." />

                
> Incomplete classpath in MANIFEST.MF of falcon-mxmlc.jar
> -------------------------------------------------------
>
>                 Key: FLEX-33196
>                 URL: https://issues.apache.org/jira/browse/FLEX-33196
>             Project: Apache Flex
>          Issue Type: Bug
>    Affects Versions: Adobe Flex SDK Next
>         Environment: Linux / Unix
>            Reporter: Raju Bitter
>              Labels: Falcon, command-line
>
> The classpath defined in falcon-mxmlc.jar is not configured correctly. 
> Currently only compiler.jar is a configured, but other JARs are needed to 
> launch the command.
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.8.2
> Created-By: 1.6.0_35-b10 (Sun Microsystems Inc.)
> Sealed: false
> Implementation-Title: ActionScript Compiler - MXMLC Command Line Compi
>  ler
> Implementation-Version: 2.0.0.0
> Implementation-Vendor: Apache Software Foundation
> Main-Class: org.apache.flex.compiler.clients.MXMLC
> Class-Path: compiler.jar
> The exception reported when running mxmlc is:
> Using Flex SDK: /home/raju/Development/flex-falcon
> Exception in thread "main" java.lang.NoClassDefFoundError:
> com/google/common/base/Function
> Caused by: java.lang.ClassNotFoundException: com.google.common.base.Function
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> Could not find the main class: org.apache.flex.compiler.clients.MXMLC.
> Program will exit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to