[ 
https://issues.apache.org/jira/browse/BUILDR-463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12884546#action_12884546
 ] 

Antoine Toulme commented on BUILDR-463:
---------------------------------------

So far this is a puzzling bug.
First, a workaround: if you do this you will be fine:
test.enhance do
  ... some java stuff
end

I could reproduce the problem with the sample project you sent, but could not 
make it happen in a smaller scale spec. I could also see it works well with 
1.3.5.
The classpath seems to be set in the same way if you comment the Java line, yet 
RJB throws an exception in one case and not the other. 
The problem stems down to the Java line, it is calling RJB before we had the 
opportunity to run Java.load.

Java.load sets the classpath. The classpath must be set before RJB import is 
called for the first time.

Frankly, this feature happened to work before. There are no specs for it. I 
will commit a fix for it now, assuming it doesn't break anything. Going forward 
support for this feature might break again if we don't have specs for it.

> Setting a system property in the buildfile causes a NoClassDefFoundError
> ------------------------------------------------------------------------
>
>                 Key: BUILDR-463
>                 URL: https://issues.apache.org/jira/browse/BUILDR-463
>             Project: Buildr
>          Issue Type: Bug
>          Components: Core features
>    Affects Versions: 1.4
>         Environment: MRI 1.8.7-p174
> (does not happen on JRuby)
>            Reporter: Rhett Sutphin
>            Assignee: Antoine Toulme
>             Fix For: 1.4.1
>
>
> If a buildfile sets a system property like so:
>     Java.java.lang.System.setProperty("foo", "bar")
> a subsequent attempt to run JUnit tests will fail with a NoClassDefFoundError 
> for org/apache/buildr/JavaTestFilter.  A minimal project which demonstrates 
> this can be found in this gist: http://gist.github.com/460611 .  Clone it and 
> then run `buildr clean test` to replicate.
> This worked in 1.3.5.  It continues to work in 1.4.0 in JRuby, but not in MRI.
> (Apologies for not catching this in an RC -- most of my prerelease testing 
> was with a different project that didn't do this.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to