Skip to content

Conversation

@hugithordarson
Copy link
Member

@hugithordarson hugithordarson commented Nov 3, 2025

Think we got it this time, a fix that actually makes sense (for #1025).

ERXApplication.Loader checks the classpath to see if any of the entries are class/build folders (dynamically generated by Eclipse). It will then check if that entry's folder hierarchy contains a .project file, then check if that's a WO project and if so, make a ProjectBundle out of that.

Problem was that the Loader only checked for classpath entries ending with /bin (old style). In Maven projects however, these end with /target/classes instead so this fix adds a check for that.

Found a Wonder project and started it up. At a glance everything seems to work, and the following code:

System.out.println( "============= LOADED BUNDLES START =============" );
System.out.println( String.format( "%-22s : %-65s : %s", "-- Name --", "-- Bundle class --", "-- isJar --" ) );
for( NSBundle nsBundle : NSBundle._allBundlesReally() ) {
	System.out.println( String.format( "%-22s : %-65s : %s", nsBundle.name(), nsBundle.getClass().getName(), nsBundle.isJar() ) );
}
System.out.println( "============= LOADED BUNDLES END ===============" );

Generates the following expected output when running in bundleless mode (the NSMavenProjectBundles being open projects).

============= LOADED BUNDLES START =============
-- Name --             : -- Bundle class --                                                : -- isJar --
ERExtensions           : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaWOExtensions       : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaXML                : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaEOControl          : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaJDBCAdaptor        : com.webobjects.foundation.development.NSLegacyBundle              : true
ERPrototypes           : com.webobjects.foundation.development.NSLegacyBundle              : true
Ajax                   : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaWebObjects         : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaEOAccess           : com.webobjects.foundation.development.NSLegacyBundle              : true
JavaFoundation         : com.webobjects.foundation.development.NSLegacyBundle              : true
SW                     : com.webobjects.foundation.development.NSMavenProjectBundle        : false
SoloWeb                : com.webobjects.foundation.development.NSMavenProjectBundle        : false
USWebObjects           : com.webobjects.foundation.development.NSMavenProjectBundle        : false
SoloForms              : com.webobjects.foundation.development.NSMavenProjectBundle        : false
SoloStaff              : com.webobjects.foundation.development.NSMavenProjectBundle        : false
============= LOADED BUNDLES END ===============

@hugithordarson hugithordarson linked an issue Nov 6, 2025 that may be closed by this pull request
@hugithordarson hugithordarson merged commit a3f9418 into wocommunity:master Nov 9, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Maven applications won't start up with bundleless builds

1 participant