Hello, I’m just starting with the development of confluence plugins and I’m trying to get started with the development steps found in a few places on the website and having the same results on my local machine. 1 2 When I follow the instructions everything is fine but when the server starts and I goto the page in the browser it responses with a 404. I’ve looked through the logs and this is the first error I see and then a long list of stack traces where the error was passed up.
Here is what I’ve tried:
- Staring a new project (again from scratch using the Atlas tools)
- Rebooting
- Checking if the port is already in use
- Running
atlas-clean
and then theatlas-start
Most of the methods are from other support threads across the Atlassian forums
This error is spawning even before I start to add any code to the inial code being added.
[INFO] [talledLocalContainer] INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[INFO] [talledLocalContainer] Aug 17, 2020 11:55:26 AM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deployment of web application archive [/Users/nhalstead/confluence-splunk-plugin/splunkcf/target/container/tomcat9x/cargo-confluence-home/webapps/cargocpc.war] has finished in [851] ms
[INFO] [talledLocalContainer] Aug 17, 2020 11:55:26 AM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deploying web application archive [/Users/nhalstead/confluence-splunk-plugin/splunkcf/target/container/tomcat9x/cargo-confluence-home/webapps/confluence.war]
[WARNING] [talledLocalContainer] log4j:WARN No such property [bufferedIO] in com.atlassian.confluence.logging.ConfluenceHomeLogAppender.
[INFO] [talledLocalContainer] 2020-08-17 11:55:41,565 INFO [main] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 6.14.0 [build 7901 based on commit hash 9eed016aaa593220cd98620fec88bcbd9fd55893] - synchrony version 2.1.0-master-9d112c9d
[WARNING] [talledLocalContainer] WARNING: An illegal reflective access operation has occurred
[WARNING] [talledLocalContainer] WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/Users/nhalstead/confluence-splunk-plugin/splunkcf/target/container/tomcat9x/cargo-confluence-home/webapps/confluence/WEB-INF/lib/spring-core-4.3.20.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
[WARNING] [talledLocalContainer] WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1
[WARNING] [talledLocalContainer] WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
[WARNING] [talledLocalContainer] WARNING: All illegal access operations will be denied in a future release
[INFO] [talledLocalContainer] 2020-08-17 11:55:51,212 INFO [main] [core.persistence.hibernate.ConfluenceHibernateConfig] getHibernateProperties STARTED H2 database server at URL jdbc:h2:tcp://localhost:9092//Users/nhalstead/confluence-splunk-plugin/splunkcf/target/confluence/home/database/h2db;MVCC=TRUE
[INFO] [talledLocalContainer] 2020-08-17 11:55:51,285 INFO [main] [springframework.web.context.ContextLoader] initWebApplicationContext Root WebApplicationContext: initialization started
[INFO] [talledLocalContainer] 2020-08-17 11:55:56,738 INFO [main] [atlassian.confluence.cache.DefaultCacheSettingsManager] removeV5SuffixFromCacheKeys Removed _v5 suffix from all Hibernate cache keys. 0/0 entries updated
[INFO] [talledLocalContainer] 2020-08-17 11:55:56,775 INFO [main] [com.atlassian.confluence.lifecycle] <init> Loading EhCache cache manager
[INFO] [talledLocalContainer] 2020-08-17 11:55:57,313 INFO [main] [confluence.cache.ehcache.EhCacheConfigManager] reconfigureCaches Reconfiguring caches from settings overrides
[INFO] [talledLocalContainer] 2020-08-17 11:55:58,599 INFO [main] [persistence.dao.filesystem.DefaultAttachmentDataFileSystemFactory] getInstance Loading attachment data mode LOCAL_ONLY
[INFO] [talledLocalContainer] 2020-08-17 11:56:04,694 INFO [main] [atlassian.confluence.plugin.BundledPluginLoaderFactory] getObject Bundled plugins are loaded from 'file:/Users/nhalstead/confluence-splunk-plugin/splunkcf/target/container/tomcat9x/cargo-confluence-home/webapps/confluence/WEB-INF/atlassian-bundled-plugins/'
[INFO] [talledLocalContainer] 2020-08-17 11:56:10,455 WARN [main] [atlassian.confluence.setup.ConfluenceAnnotationConfigWebApplicationContext] refresh Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'hostComponentProvider': Unsatisfied dependency expressed through method 'setSpringHostComponentProviderConfig' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedLocalSessionFactoryBean5' defined in class path resource [productionDatabaseContext.xml]: Bean instantiation via constructor failed; nested exception is java.lang.ExceptionInInitializerError
[INFO] [talledLocalContainer] 2020-08-17 11:56:10,489 INFO [main] [com.atlassian.confluence.lifecycle] shutdownCacheManager Shutting down EhCache cache manager
[INFO] [talledLocalContainer] 2020-08-17 11:56:10,503 ERROR [main] [springframework.web.context.ContextLoader] initWebApplicationContext Context initialization failed
[INFO] [talledLocalContainer] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'hostComponentProvider': Unsatisfied dependency expressed through method 'setSpringHostComponentProviderConfig' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantedLocalSessionFactoryBean5' defined in class path resource [productionDatabaseContext.xml]: Bean instantiation via constructor failed; nested exception is java.lang.ExceptionInInitializerError
[INFO] [talledLocalContainer] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:664)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:364)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1269)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
[INFO] [talledLocalContainer] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742)
[INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
[INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
[INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
[INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
[INFO] [talledLocalContainer] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
[INFO] [talledLocalContainer] at com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32)
[INFO] [talledLocalContainer] at com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener.contextInitialized(ConfluenceBootstrappedContextLoaderListener.java:39)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4643)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5109)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1858)
[INFO] [talledLocalContainer] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[INFO] [talledLocalContainer] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[INFO] [talledLocalContainer] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:772)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:426)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1585)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:969)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
[INFO] [talledLocalContainer] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[INFO] [talledLocalContainer] at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
[INFO] [talledLocalContainer] at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
[INFO] [talledLocalContainer] at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:944)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:261)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
[INFO] [talledLocalContainer] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Catalina.start(Catalina.java:682)
[INFO] [talledLocalContainer] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] [talledLocalContainer] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO] [talledLocalContainer] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO] [talledLocalContainer] at java.base/java.lang.reflect.Method.invoke(Method.java:567)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
[INFO] [talledLocalContainer] at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:492)
File: pom.xml
<?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>me.nhalstead.confluence</groupId>
<artifactId>splunkcf</artifactId>
<version>1.0.0-SNAPSHOT</version>
<organization>
<name>Example Company</name>
<url>http://www.example.com/</url>
</organization>
<name>splunkcf</name>
<description>This is the me.nhalstead.confluence:splunkcf plugin for Atlassian Confluence.</description>
<packaging>atlassian-plugin</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atlassian.confluence</groupId>
<artifactId>confluence</artifactId>
<version>${confluence.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-annotation</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</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>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2-atlassian-1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>confluence-maven-plugin</artifactId>
<version>${amps.version}</version>
<extensions>true</extensions>
<configuration>
<productVersion>${confluence.version}</productVersion>
<productDataVersion>${confluence.data.version}</productDataVersion>
<enableQuickReload>true</enableQuickReload>
<allowGoogleTracking>false</allowGoogleTracking>
<!-- 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>
me.nhalstead.confluence.splunkcf.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>
<plugin>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-maven-plugin</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<executions>
<execution>
<goals>
<goal>atlassian-spring-scanner</goal>
</goals>
<phase>process-classes</phase>
</execution>
</executions>
<configuration>
<scannedDependencies>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-external-jar</artifactId>
</dependency>
</scannedDependencies>
<verbose>false</verbose>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<confluence.version>6.14.0</confluence.version>
<confluence.data.version>6.14.0</confluence.data.version>
<amps.version>8.0.2</amps.version>
<plugin.testrunner.version>2.0.1</plugin.testrunner.version>
<atlassian.spring.scanner.version>1.2.13</atlassian.spring.scanner.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>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
</project>