ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Troy Self" <>
Subject subant holds onto classloaders
Date Wed, 08 Sep 2010 12:44:39 GMT
I am using the ivy:buildlist / subant combination to operate the build for a
large project. The project consists of about 20 different sub-projects. The
sub-projects each depend on a combination of other sub-projects as well as
some 3rd party libraries. Ivy takes care of building them in order for me.
That's all great.

The issue I have is that subant does all of this in a single process. As a
result, as each sub-project resolves its compile dependencies and then later
resolves its junit dependencies, the primary JVM process is retaining all of
the classloaders and never unloading them. The result is that my build
eventually fails due to running out of memory in the PermGen space.

Does anyone know of a way that I can get the sub-projects to build in the
correct order, but still have ant fork a new process for each one? This way
the primary JVM would not keep adding and retaining classloaders.

Btw, when running manually, I can get around the issue by increasing the
PermGen space using -XX:MaxPermSize=256m. However, my continuous build
system (Cruise Control) seems to want to run ant with the default JVM
parameters and this solution only delays the issue anyway.


-- tBs

View raw message