Hi,
I am trying to spool up a localhost instance of crowd. I created crowd plugin skeleton with the command ‘atlas-create-crowd-plugin’, modified crowd.version property to 6.1.1.
With this setup, when I spool up localhost instance with the command ‘atlas-debug’ and visit the http://localhost:4990/crowd url in browser, I see following error page
Upon looking at atlassian-crowd.log file, I see following errors.
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final]
...................................................................................................................
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: HHH010003: JDBC Driver class not found: org.hsqldb.jdbc.JDBCDriver
	at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:130) ~[hibernate-c3p0-5.4.33.Final.jar:5.4.33.Final]
	at com.atlassian.crowd.util.persistence.hibernate.connection.DelegatingConnectionProvider.configure(DelegatingConnectionProvider.java:74) ~[crowd-persistence-hibernate5-6.1.1.jar:?]
....................................................................................................
Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.hsqldb.jdbc.JDBCDriver]
	at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:133) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final]
	at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:127) ~[hibernate-c3p0-5.4.33.Final.jar:5.4.33.Final]
.........................................................................................................
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.hsqldb.jdbc.JDBCDriver
	at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:210) ~[hibernate-core-5.4.33.Final.jar:5.4.33.Final]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
	at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
	at java.base/java.lang.Class.forName(Class.java:467) ~[?:?]
...........................................................................................................
2025-03-07 15:53:06,370 main ERROR [ContainerBase.[Catalina].[localhost].[/crowd]] Exception sending context initialized event to listener instance of class [com.atlassian.crowd.console.listener.StartupListener]
java.lang.NullPointerException: Cannot invoke "com.atlassian.spring.container.ContainerContext.getComponent(Object)" because the return value of "com.atlassian.spring.container.ContainerManager.getContainerContext()" is null
	at com.atlassian.spring.container.ContainerManager.getComponent(ContainerManager.java:43) ~[atlassian-spring-3.0.2.jar:?]
	at com.atlassian.crowd.console.listener.StartupListener.getLicenseManager(StartupListener.java:293) ~[classes/:?]
	at com.atlassian.crowd.console.listener.StartupListener.isLicenseValid(StartupListener.java:238) ~[classes/:?]
	at com.atlassian.crowd.console.listener.StartupListener.checkLicenseAndPerformUpgrade(StartupListener.java:132) ~[classes/:?]
	at com.atlassian.crowd.console.listener.StartupListener.lambda$contextInitialized$2(StartupListener.java:76) ~[classes/:?]
	at java.base/java.util.Optional.ifPresentOrElse(Optional.java:198) ~[?:?]
	at com.atlassian.crowd.console.listener.StartupListener.contextInitialized(StartupListener.java:71) ~[classes/:?]
.........................................................................................................
2025-03-07 15:53:06,455 main INFO [ContainerBase.[Catalina].[localhost].[/crowd]] Closing Spring root WebApplicationContext
2025-03-07 15:53:06,604 main INFO [com.atlassian.crowd.startup] Stopping Crowd
Here are the contents of the pom.xml file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.rc.alm</groupId>
	<artifactId>crowdtest</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<name>crowdtest</name>
	<description>This is the com.rc.alm:crowdtest plugin for Atlassian Crowd.</description>
	<packaging>atlassian-plugin</packaging>
	<properties>
		<crowd.version>6.1.1</crowd.version>
		<crowd.data.version>6.1.1</crowd.data.version>
		<amps.version>8.2.3</amps.version>
		<plugin.testrunner.version>2.0.2</plugin.testrunner.version>
		<osgi.javaconfig.version>0.2.0</osgi.javaconfig.version>
		<gson.version>2.9.1</gson.version>
		<!-- This property ensures consistency between the key in
		atlassian-plugin.xml and the OSGi bundle's key. -->
		<atlassian.plugin.key>${project.groupId}.${project.artifactId}</atlassian.plugin.key>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<spring.version>5.3.19</spring.version>
		<atlassian.spring.scanner.version>3.0.1</atlassian.spring.scanner.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.atlassian.plugin</groupId>
			<artifactId>atlassian-spring-scanner-annotation</artifactId>
			<version>${atlassian.spring.scanner.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.7.3</version>
		</dependency>
		<!-- WIRED TEST RUNNER DEPENDENCIES -->
		<dependency>
			<groupId>com.atlassian.plugins</groupId>
			<artifactId>atlassian-plugins-osgi-testrunner</artifactId>
			<version>${plugin.testrunner.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>com.atlassian.maven.plugins</groupId>
				<artifactId>crowd-maven-plugin</artifactId>
				<version>${amps.version}</version>
				<extensions>true</extensions>
				<configuration>
					<productVersion>${crowd.version}</productVersion>
					<productDataVersion>${crowd.data.version}</productDataVersion>
					<enableQuickReload>true</enableQuickReload>
					<!-- See here for an explanation of default instructions: -->
					<!--
					https://developer.atlassian.com/docs/advanced-topics/configuration-of-instructions-in-atlassian-plugins -->
					<instructions>
						<Atlassian-Plugin-Key>${atlassian.plugin.key}</Atlassian-Plugin-Key>
						<!-- Add package to export here -->
						<Export-Package>
							com.rc.alm.api,
						</Export-Package>
						<!-- Add package import here -->
						<Import-Package>
							org.springframework.osgi.*;resolution:="optional",
							org.eclipse.gemini.blueprint.*;resolution:="optional",
							*
						</Import-Package>
						<!-- Ensure plugin is spring powered -->
						<Spring-Context>*</Spring-Context>
					</instructions>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
I’m having trouble figuring out why the Crowd instance isn’t loading correctly.
Any assistance would be greatly appreciated

