Confluence template plugin tutorial: 404 error

Hello

I am new to the whole Atlassian SDK and started with the tutorial series. My goal is to create confluence templates for my company. The HelloWorld Plugin worked fine (as do all jira plugins) but when I started the series about Confluence Template Plugins, I never managed to connect to the confluence webpage (localhost:1990/confluence). I always get a 404 error even thought atlas-run runs without problems (this happens with all confluence plugins).

So far, I have tried:

  • Windows 10 as well as Ubuntu Mate (both x64)
  • Different Atlassian SDKs (6.3.12, 8.0.7, 8.0.16)
  • Changing the default tomcat container (from 9x to 8x and 7x), but this just gave a white screen and a 404 error in the logfile
  • Changing the HTML port
  • Changed localhost to 127.0.0.1
  • atlas-clean and then atlas-run (before each run)
  • reinstalling the SDK, recreating the projects, restarting device, …

Finally, I just downloaded the finished project from the tutorial but here again, I just got a white screen with a 404 error in the logfile (as for my project running on Tomcat8x since it was running on that container).

I would really appreciate if someone could help me with that problem. I went through all the posts I could find and none of the solution worked.

Other information:

Output atlas-version (linux)

ATLAS Version: 8.0.16
ATLAS Home: /usr/share/atlassian-plugin-sdk-8.0.16
ATLAS Scripts: /usr/share/atlassian-plugin-sdk-8.0.16/bin
ATLAS Maven Home: /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4
AMPS Version: 8.0.2

Executing: /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4/bin/mvn --version -gs /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4/conf/settings.xml
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T20:33:14+02:00)
Maven home: /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4
Java version: 14.0.2, vendor: Oracle Corporation, runtime: /usr/local/java/jdk-14.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: “linux”, version: “5.4.0-42-generic”, arch: “amd64”, family: “unix”

Console output atlas-run

[INFO] Project POM found
Executing: /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4/bin/mvn com.atlassian.maven.plugins:maven-amps-dispatcher-plugin:6.3.21:run -gs /usr/share/atlassian-plugin-sdk-8.0.16/apache-maven-3.5.4/conf/settings.xml
[INFO] Scanning for projects…
[INFO]
[INFO] -----------------------------< test.c1:c1 >-----------------------------
[INFO] Building c1 1
[INFO] --------------------------[ atlassian-plugin ]--------------------------
[INFO]
[INFO] >>> maven-amps-dispatcher-plugin:6.3.21:run (default-cli) > package @ c1 >>>
[INFO]
[INFO] — maven-confluence-plugin:6.3.21:compress-resources (default-compress-resources) @ c1 —
[INFO] Compiling javascript using YUI
[INFO] 0 Javascript file(s) were minified into target directory /home/jacktraror/Documents/atlassian/c1/target/classes
[INFO] 0 CSS file(s) were minified into target directory /home/jacktraror/Documents/atlassian/c1/target/classes
[INFO] Compressing XML files
[INFO] 0 XML file(s) were minified into target directory /home/jacktraror/Documents/atlassian/c1/target/classes
[INFO]
[INFO] — maven-resources-plugin:3.2.0:resources (default-resources) @ c1 —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Using ‘UTF-8’ encoding to copy filtered properties files.
[INFO] Copying 7 resources
[INFO]
[INFO] — maven-confluence-plugin:6.3.21:filter-plugin-descriptor (default-filter-plugin-descriptor) @ c1 —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.8.1:compile (default-compile) @ c1 —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-confluence-plugin:6.3.21:generate-rest-docs (default-generate-rest-docs) @ c1 —
[INFO]
[INFO] — atlassian-spring-scanner-maven-plugin:1.2.13:atlassian-spring-scanner (default) @ c1 —
[INFO] Starting Atlassian Spring Byte Code Scanner…
[INFO]
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.export.ModuleType] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.BambooImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.RefappImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.StashImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.BitbucketImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.FecruImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.JiraImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.imports.ConfluenceImport] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.JiraComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.ClasspathComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.StashComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.ConfluenceComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.BambooComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.FecruComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.RefappComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[ERROR] Found a type [com.atlassian.plugin.spring.scanner.annotation.component.BitbucketComponent] annotated as a component, but the type is not a concrete class. NOT adding to index file!!
[INFO]
[INFO] Analysis ran in 129 ms.
[INFO] Encountered 204 total classes
[INFO] Processed 2 annotated classes
[INFO]
[INFO] — maven-resources-plugin:3.2.0:testResources (default-testResources) @ c1 —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Using ‘UTF-8’ encoding to copy filtered properties files.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-confluence-plugin:6.3.21:filter-test-plugin-descriptor (default-filter-test-plugin-descriptor) @ c1 —
[INFO] Using ‘UTF-8’ encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] — maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ c1 —
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] — maven-confluence-plugin:6.3.21:unit-test (default-unit-test) @ c1 —
[INFO] Surefire report directory: /home/jacktraror/Documents/atlassian/c1/target/surefire-reports


T E S T S

Running ut.test.c1.MyComponentUnitTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.026 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

… (cannot add everything because of limited amount of characters)

[INFO] [talledLocalContainer] 2020-08-19 17:38:41,428 ERROR [main] [springframework.web.context.ContextLoader] initWebApplicationContext Context initialization failed
[INFO] [talledLocalContainer] java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
[INFO] [talledLocalContainer] at java.base/java.lang.Class.getDeclaredMethods0(Native Method)

[INFO] [talledLocalContainer] … 63 more
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,433 ERROR [main] [ContainerBase.[Catalina].[localhost].[/confluence]] log Exception sending context initialized event to listener instance of class [com.atlassian.confluence.setup.ConfluenceBootstrappedContextLoaderListener]
[INFO] [talledLocalContainer] java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
[INFO] [talledLocalContainer] at java.base/java.lang.Class.getDeclaredMethods0(Native Method)

[INFO] [talledLocalContainer] … 63 more
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,436 INFO [main] [atlassian.confluence.plugin.PluginFrameworkContextListener] contextInitialized Initialising plugin system
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,437 ERROR [main] [atlassian.confluence.plugin.PluginFrameworkContextListener] contextInitialized Error initialising plugin manager: null
[INFO] [talledLocalContainer] java.lang.NullPointerException
[INFO] [talledLocalContainer] at com.atlassian.spring.container.ContainerManager.getComponent(ContainerManager.java:33)

[INFO] [talledLocalContainer] 2020-08-19 17:38:41,444 ERROR [main] [ContainerBase.[Catalina].[localhost].[/confluence]] log Exception sending context destroyed event to listener instance of class [com.atlassian.confluence.plugin.PluginFrameworkContextListener]
[INFO] [talledLocalContainer] java.lang.NullPointerException
[INFO] [talledLocalContainer] at com.atlassian.spring.container.ContainerManager.getComponent(ContainerManager.java:33)

[INFO] [talledLocalContainer] 2020-08-19 17:38:41,527 WARN [main] [atlassian.confluence.setup.ConfluenceAnnotationConfigWebApplicationContext] doClose Exception thrown from LifecycleProcessor on context close
[INFO] [talledLocalContainer] java.lang.IllegalStateException: LifecycleProcessor not initialized - call ‘refresh’ before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Wed Aug 19 17:38:39 CEST 2020]; parent: com.atlassian.confluence.setup.ConfluenceAnnotationConfigApplicationContext@cdb3c85
[INFO] [talledLocalContainer] at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:415)

[INFO] [talledLocalContainer] 2020-08-19 17:38:41,528 INFO [main] [com.atlassian.confluence.lifecycle] contextDestroyed Stopping Confluence
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,548 ERROR [main] [com.atlassian.threadlocal.BruteForceThreadLocalCleanup] logErr Thread[main,5,main] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]). This will be cleaned up
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,549 ERROR [main] [com.atlassian.threadlocal.BruteForceThreadLocalCleanup] logErr Thread[main,5,main] created a ThreadLocal with key of type [org.springframework.core.NamedThreadLocal] (value [Prototype beans currently in creation]) and a value of type [null] (value [null]). This will be cleaned up
[INFO] [talledLocalContainer] 2020-08-19 17:38:41,549 ERROR [main] [com.atlassian.threadlocal.BruteForceThreadLocalCleanup] logErr Thread[main,5,main] created a ThreadLocal with key of type [org.apache.log4j.helpers.ThreadLocalMap] (value [org.apache.log4j.helpers.ThreadLocalMap@21f27bb5]) and a value of type [null] (value [null]). This will be cleaned up
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:41 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
[WARNING] [talledLocalContainer] WARNING: The web application [confluence] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:41 PM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deployment of web application archive [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/confluence.war] has finished in [8,266] ms
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:41 PM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deploying web application archive [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/cargocpc.war]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:41 PM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deployment of web application archive [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/cargocpc.war] has finished in [44] ms
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:41 PM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deploying web application archive [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/synchrony-proxy.war]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:42 PM org.apache.jasper.servlet.TldScanner scanJars
[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] SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
[INFO] [talledLocalContainer] SLF4J: Defaulting to no-operation (NOP) logger implementation
[INFO] [talledLocalContainer] SLF4J: See http:// slf4j. org/codes. html#StaticLoggerBinder for further details.
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:42 PM org.apache.catalina.core.ApplicationContext log
[INFO] [talledLocalContainer] INFO: 1 Spring WebApplicationInitializers detected on classpath
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:42 PM org.apache.catalina.core.ApplicationContext log
[INFO] [talledLocalContainer] INFO: Initializing Spring DispatcherServlet ‘dispatcher’
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.HostConfig deployWAR
[INFO] [talledLocalContainer] INFO: Deployment of web application archive [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/synchrony-proxy.war] has finished in [1,673] ms
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.HostConfig deployDirectory
[INFO] [talledLocalContainer] INFO: Deploying web application directory [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/host-manager]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.HostConfig deployDirectory
[INFO] [talledLocalContainer] INFO: Deployment of web application directory [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/host-manager] has finished in [21] ms
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.HostConfig deployDirectory
[INFO] [talledLocalContainer] INFO: Deploying web application directory [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/manager]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.HostConfig deployDirectory
[INFO] [talledLocalContainer] INFO: Deployment of web application directory [/home/jacktraror/Documents/atlassian/c1/target/container/tomcat9x/cargo-confluence-home/webapps/manager] has finished in [16] ms
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.coyote.AbstractProtocol start
[INFO] [talledLocalContainer] INFO: Starting ProtocolHandler [“http-nio-1990”]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.coyote.AbstractProtocol start
[INFO] [talledLocalContainer] INFO: Starting ProtocolHandler [“ajp-nio-8009”]
[INFO] [talledLocalContainer] Aug 19, 2020 5:38:43 PM org.apache.catalina.startup.Catalina start
[INFO] [talledLocalContainer] INFO: Server startup in 10095 ms
[INFO] [talledLocalContainer] Tomcat 9.x started on port [1990]
[INFO] confluence started successfully in 43s at http:// localhost:1990/confluence
[INFO] Type Ctrl-C to shutdown gracefully

I finally found the problem. The clue was this little line:

Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255

It turned out that the confluence plugins only run on java 8 with version numbers bellow 255 (for whatever reason).

2 Likes

Experienced the same issue.

An alternative workaround (if you do not want to reinstall an older Java runtime) is to delete all instances of icu4j jars in the target directory after loading the extension the first time. It appears the version of the logger library does not properly handle a build version value greater than 255. Follows a similar workaround outlined for Bamboo instances with this issue (BAM-21018).

3 Likes

Wasted about 16 hours trying to get this to work fml. And since there is zero mention of this issue anywhere in the docs I’ll make it abundantly explicit here:

You need to run no later than Java SE Development Kit 8u251.

Downloads are here: https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

1 Like

Thanks. This helped greatly.

Yes it works