Hi,

I deleted my repository and downloaded a new version without ibiblio configured and then ran maven keel:maven. I then had to re-enabled ibiblio to get all the other stuff and ran maven keel:maven again. Now my app works :-).

I don't know what hapenned here but perhaps the ibiblio repository is corrupt which doesn't give me a warm feeling at all. There are perhaps different jars lying around with the same version numbers! Is there another more trustworthy repository where I can get the jars that are not in the keel maven respository?

Thanks,
Max.

Hi Aleks,

I just downloaded and checked the excalibur-mpool-1.0.jar from

http://www.keelframework.org/maven/excalibur-mpool/jars

and it also does not have a ROLE field defined.

I have however found that (on ibiblio) there is a http://www.ibiblio.org/maven/excalibur-fortress/jars/excalibur-fortress-complete-1.0.jar that has a version of PoolManager.class that *does* have the ROLE field defined.

Perhaps ibiblio has the wrong version of excalibur-fortress-container-impl-1.2.jar? The jar that has ContextManager.class in it. I will use the repository that you recommend and rebuild my application now.

Do I still have to use the ibiblio repository for stuff like commons-xxx?

Max

Max,

do you use the jars from
http://www.keelframework.org/maven/excalibur-mpool/jars ?

Just because you mentioned Ibiblio... and as I see it the jar is very
old (from January 2004). Maybe there is your problem...

Cheers,

Aleks

On Sat, 2005-04-23 at 13:16 +0200, Max wrote:


Hi,

Help please! I'm getting the java.lang.NoSuchFieldError: ROLE error again and can't seem to get rid of it. I've tried a completly fresh install of everything and still no luck. The problem does not occur if I build and deploy the default example but does so with my app.

I don't know where to find the source code for excalibur that generated the jars we are using but I found this code whilst checking the web SVN interface at http://cvs.apache.org/viewcvs.cgi/excalibur/trunk/fortress/container-impl/src/java/org/apache/avalon/fortress/util/?root=Apache-SVN :

<snippet from ContextManager.java>
...
import org.apache.excalibur.mpool.PoolManager;
...
protected void initializePoolManager() throws Exception
{
try
{
line 545: m_poolManager = (PoolManager) m_rootContext.get( PoolManager.ROLE ); }
catch ( ContextException ce )
{
final PoolManager pm = new DefaultPoolManager( m_sink );
assumeOwnership( pm );
m_poolManager = pm;
}
}
...
</snippet>


The line numbers do not match (543 in exception vs 545 in source) so I'm not looking at the exact same source, however the code implies that PoolManager.ROLE is not defined. I could not find where the PoolManager.java source was on the apache SVN server so I extracted out the PoolManager.class from the excalibur-mpool-1.0.jar and decompiled it. It gives:

   // JBuilder API Decompiler stub source generated from class file
   // 2005/04/23
   // -- implementation of methods is not available

   package org.apache.excalibur.mpool;

   public abstract interface PoolManager {

// Methods
Pool getManagedPool(ObjectFactory objectFactory, int _int) throws Exception;
}


This code shows no definition of ROLE just as my error exception shows. I've downloaded a fresh copy of excalibur-mpool-1.0.jar from ibiblio and it has the same code so my jar file is not corrupt.

I'm not sure where to go from here as I don't know where to find the sources for excalibur/avalon that we are using. I can only find an excalibur-pool on apache.org (pool not mpool!). Any ideas anyone?

Thanks,
Max



Max,

"Jyotish" should be able to predict everything and know everything :-)

Just kidding. The error below is strange. The PoolManager interface, like any other Avalon service interface, defines the "ROLE" for that service. It almost seems like your PoolManager class/JAR is corrupt (or, maybe the uber JAR is corrupt somehow), taking a wild guess. If you have ever killed a Maven build while it is downloading dependencies, you can end up with a partial JAR, but the timestamp is newer, so Maven will not download it again. Try deleting the excalibur-pool directory in your local Maven repo and building again. But, if it works sometimes and not other times, it may be a completely different problem (maybe synchronization problems/race conditions, etc.)

Shash



I've been getitng this error after making incremental changes to my project.xml file. I have not yet identified the pattern, but after several iterations of development I always seem to end up with this error. First on plugin 12 and now also on plugin 13. I've also deleted project.bak before performing keel:maven and war.

[KeelMetaInfoManager] Initializing
java.lang.NoSuchFieldError: ROLE
at org.apache.avalon.fortress.util.ContextManager.initializePoolManager(
ContextManager.java:543)
at org.apache.avalon.fortress.util.ContextManager.initialize(ContextMana
ger.java:245)
at org.apache.avalon.fortress.impl.DefaultContainerManager.getInitialize
dContextManager(DefaultContainerManager.java:87)
at org.apache.avalon.fortress.impl.DefaultContainerManager.<init>(Defaul
tContainerManager.java:74)
at org.apache.avalon.fortress.impl.DefaultContainerManager.<init>(Defaul
tContainerManager.java:68)
at org.keel.core.container.KeelContainerFactory.getContainerManager(Keel
ContainerFactory.java:229)
at org.keel.core.container.KeelContainerFactory.createContainer(KeelCont
ainerFactory.java:624)
at org.keel.core.container.KeelContainerFactory.createContainer(KeelCont
ainerFactory.java:607)
at org.keel.servers.KeelAbstractServer.initialize(KeelAbstractServer.jav
a:126)
at org.keel.servers.KeelAbstractServer.getContainer(KeelAbstractServer.j
ava:106)
at org.keel.servers.direct.KeelDirectServer.run(KeelDirectServer.java:61
)


I am also getting these warnings during build (not sure if they are related):

[copy] Warning: Could not find file D:\Proj\JyotishApplications\AstroMatch\AstroMatchServer-3.0\logkit.properties to
copy.
[copy] Warning: Could not find file D:\Proj\JyotishApplications\AstroMatch\AstroMatchServer-3.0\roles.properties to
copy.
[copy] Warning: Could not find file D:\Proj\JyotishApplications\AstroMatch\AstroMatchServer-3.0\instrument.propertie


s to copy.
[copy] Copying 1 file to D:\Proj\JyotishApplications\AstroMatch\AstroMatchServer-3.0\target\axis\WEB-INF\lib



I have not found an easy way of getting back to a working build.
Thanks for the help,
Max


http://keelframework.org/documentation.shtml Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com




http://keelframework.org/documentation.shtml Keelgroup mailing list [EMAIL PROTECTED] http://lists.keelframework.com/listinfo.cgi/keelgroup-keelframework.com

Reply via email to