[ http://jira.codehaus.org/browse/MCOMPILER-36?page=comments#action_67493 ] 
Randy Watler commented on MCOMPILER-36:
---------------------------------------

It seems that one can also work around this issue for the j2sdk 1.4.2 compiler 
if you take care to exclude *.java files from your jars/wars. We contiue to use 
older M1/apache style file structures and have the following <build> 
configuration defined in our root pom:

        <resources>
            <resource>
                <directory>src/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>

and

        <testResources>
            <testResource>
                <directory>src/java</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
            <testResource>
                <directory>src/test</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
        </testResources>

Note that once the excludes were added, we were able to not only generate clean 
build products, but were also able to avoid this issue with the 2.0.1 plugin.

> class Foo is public, should be declared in a file named Foo.java
> ----------------------------------------------------------------
>
>          Key: MCOMPILER-36
>          URL: http://jira.codehaus.org/browse/MCOMPILER-36
>      Project: Maven 2.x Compiler Plugin
>         Type: Bug

>     Versions: 2.0.1
>     Reporter: Per Olesen
>     Priority: Minor

>
>
> When adding a depency to a jar which contains source code like this:
>     <dependency>
>       <groupId>com.nordija</groupId>
>       <artifactId>nordija-midtier</artifactId>
>       <version>snapshot</version>
>       <classifier>sources</classifier>
>       <scope>test</scope>
>     </dependency>
> where I'm using the "classifier", the "compiler:testCompile" goal fails with 
> the error:
> Failure executing javac, but could not parse the error:
> /home/tomcat/.m2/repository/com/nordija/nordija-midtier/snapshot/nordija-midtier-snapshot-sources.jar(com/nordija/midtier/util/NestingException.java):42:
>  class NestingException is public, should be declared in a file named 
> NestingException.java
> (source unavailable)
> 1 error
> Now, my first thought is of course that the jar is corrupt or packaged 
> wrongly or something like that. But it seems to be okay, and my IDEA can 
> browse it and does not show error-marks for the source file in question. And, 
> the same dependency is used in another module in the same build, where it is 
> no problem!!!
> I solved the problem by going back to v2.0 of the compiler plugin, where 
> everything works.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to