I made these changes but lines below tells me that com.opensymphony.* or that struts2 think is not in my Confluence 6.9.1 and I build my plugin with Confluence 8.6.0.
package fi.i4ware.dark;
import com.atlassian.activeobjects.external.ActiveObjects;
import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
import org.apache.struts2.dispatcher.multipart.MultiPartRequest;
import org.apache.struts2.dispatcher.multipart.UploadedFile;
import com.atlassian.xwork.FileUploadUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.MultipartConfig;
import java.io.File;
import java.io.IOException;
import java.util.List;
// Annotate the servlet with @MultipartConfig to handle file uploads
@MultipartConfig(
location = "/tmp", // Temporary directory to store uploaded files
fileSizeThreshold = 5 * 1024 * 1024, // 5 MB
maxFileSize = 10 * 1024 * 1024, // 10 MB
maxRequestSize = 20 * 1024 * 1024 // 20 MB
)
public class CaptureUploadServlet extends HttpServlet {
private static final Logger logger = LogManager.getLogger(CaptureUploadServlet.class);
private static final String UPLOAD_DIRECTORY = "/tmp";
private final ActiveObjects ao;
public CaptureUploadServlet(ActiveObjects ao) {
this.ao = ao;
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//if (request instanceof MultiPartRequestWrapper) {
MultiPartRequestWrapper multiPartRequestWrapper = FileUploadUtils.unwrapMultiPartRequest(request);
logger.info("Processing upload successfully"); // this line not appear to logs.
//return;
//} else {
//logger.error("Error processing upload");
return;
//}
}
}
And if I make it like below then error.log appear to logs:
package fi.i4ware.dark;
import com.atlassian.activeobjects.external.ActiveObjects;
import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
import org.apache.struts2.dispatcher.multipart.MultiPartRequest;
import org.apache.struts2.dispatcher.multipart.UploadedFile;
import com.atlassian.xwork.FileUploadUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.MultipartConfig;
import java.io.File;
import java.io.IOException;
import java.util.List;
// Annotate the servlet with @MultipartConfig to handle file uploads
@MultipartConfig(
location = "/tmp", // Temporary directory to store uploaded files
fileSizeThreshold = 5 * 1024 * 1024, // 5 MB
maxFileSize = 10 * 1024 * 1024, // 10 MB
maxRequestSize = 20 * 1024 * 1024 // 20 MB
)
public class CaptureUploadServlet extends HttpServlet {
private static final Logger logger = LogManager.getLogger(CaptureUploadServlet.class);
private static final String UPLOAD_DIRECTORY = "/tmp";
private final ActiveObjects ao;
public CaptureUploadServlet(ActiveObjects ao) {
this.ao = ao;
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
if (request instanceof MultiPartRequestWrapper) {
MultiPartRequestWrapper multiPartRequestWrapper = FileUploadUtils.unwrapMultiPartRequest(request);
logger.info("Processing upload successfully");
return;
} else {
logger.error("Error processing upload");
return;
}
}
}
I just got a lot of issues to fix after I placed:
<dependency>
<groupId>com.pusher</groupId>
<artifactId>pusher-http-java</artifactId>
<version>1.3.3</version>
<scope>compile</scope>
</dependency>
Pusher API seams to cause much problems with Confluence 8…6.0 App like below is full pom.xml what is mandatory to configure or plugin installation not success after Pusher. But yes Pusher Real-Time Boardcasting works well and ChatGTP OpenAI responses but not file upload to Speech-to-Text:
<?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>fi.i4ware</groupId>
<artifactId>dark</artifactId>
<version>1.2.2</version>
<organization>
<name>i4ware Software</name>
<url>https://www.i4ware.fi/</url>
</organization>
<name>i4ware ChatGPT OpenAI Chat with Dark Theme</name>
<description>This is the ChatGPT OpenAI Chat and Dark Theme for Atlassian Confluence.</description>
<packaging>atlassian-plugin</packaging>
<dependencies>
<dependency>
<groupId>com.atlassian.templaterenderer</groupId>
<artifactId>atlassian-template-renderer-api</artifactId>
<version>1.0.5</version>
<scope>provided</scope>
</dependency>
<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>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>6.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.activeobjects</groupId>
<artifactId>activeobjects-plugin</artifactId>
<version>${activeobjects.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>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>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.upm</groupId>
<artifactId>licensing-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.upm</groupId>
<artifactId>upm-api</artifactId>
<version>2.0.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>
<exclusions>
<exclusion>
<artifactId>wink-client</artifactId>
<groupId>org.apache.wink</groupId>
</exclusion>
</exclusions>
</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>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.sal</groupId>
<artifactId>sal-api</artifactId>
<version>5.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.pusher</groupId>
<artifactId>pusher-http-java</artifactId>
<version>1.3.3</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
</exclusion>
<exclusion>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.twitter</groupId>
<artifactId>hpack</artifactId>
<version>1.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.30.2-GA</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.25.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.protobuf.nano</groupId>
<artifactId>protobuf-javanano</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.oracle.svm.core</groupId>
<artifactId>annotate</artifactId>
</exclusion>
<!-- Add more exclusions as needed -->
<exclusion>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jzlib</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.oracle.svm.core</groupId>
<artifactId>annotate</artifactId>
</exclusion>
<!-- Add more exclusions as needed -->
<exclusion>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.ning</groupId>
<artifactId>compress-lzf</artifactId>
<version>1.0.3</version> <!-- Use the version compatible with your project -->
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.oracle.svm.core</groupId>
<artifactId>annotate</artifactId>
</exclusion>
<!-- Add more exclusions as needed -->
<exclusion>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-runtime</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>svm</artifactId>
<version>23.1.3</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.111.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>2.0.46.Final</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.aayushatharva.brotli4j</groupId>
<artifactId>brotli4j</artifactId>
<version>1.5.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.barchart.udt</groupId>
<artifactId>barchart-udt-bundle</artifactId>
<version>2.3.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>aalto-xml</artifactId>
<version>1.2.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<!-- Additional dependencies that might be required -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugins</groupId>
<artifactId>atlassian-plugins-osgi</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.rxtx</groupId>
<artifactId>rxtx</artifactId>
<version>2.1.7</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>9.7</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.framework</artifactId>
<version>1.9.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.atlassian.platform</groupId>
<artifactId>platform</artifactId>
<version>${platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.atlassian.platform</groupId>
<artifactId>third-party</artifactId>
<version>${platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugin</groupId>
<artifactId>atlassian-spring-scanner-external-jar</artifactId>
<version>${atlassian.spring.scanner.version}</version>
<scope>runtime</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>com.github.luben</groupId>
<artifactId>zstd-jni</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>8.4.3</version>
<configuration>
<skipProvidedScope>true</skipProvidedScope>
<skipRuntimeScope>true</skipRuntimeScope>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<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>
<instructions>
<DynamicImport-Package>
com.atlassian.upm.api.license;version="2.0.1",
com.atlassian.upm.api.license.entity;version="2.0.1",
com.atlassian.upm.api.util;version="2.0.1",
com.atlassian.upm.license.storage.plugin;version="2.0.1",
com.sun.mirror.*;version="0.0"
</DynamicImport-Package>
<Export-Package>
fi.i4ware.api,
fi.i4ware.dark,
*
</Export-Package>
<Import-Package>
com.atlassian.confluence.themes,
org.springframework.osgi.*;resolution:="optional",
org.eclipse.gemini.blueprint.*;resolution:="optional",
com.opensymphony.*;resolution:="optional",
*
</Import-Package>
<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>
<verbose>false</verbose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<compilerArgs>
<arg>--add-modules</arg>
<arg>jdk.jdi,jdk.attach</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
<filters>
<filter>
<artifact>org.ow2.asm:asm</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
<filter>
<artifact>org.osgi:org.osgi.framework</artifact>
<excludes>
<exclude>**/org/osgi/framework/wiring/**</exclude>
</excludes>
</filter>
<filter>
<artifact>org.apache.httpcomponents:httpcore</artifact>
<excludes>
<exclude>**/*</exclude>
</excludes>
</filter>
<filter>
<artifact>org.apache.httpcomponents:httpclient</artifact>
<excludes>
<exclude>**/*</exclude>
</excludes>
</filter>
<filter>
<artifact>org.slf4j:slf4j-api</artifact>
<excludes>
<exclude>**/*</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>4.2.1</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>fi.i4ware.dark</Bundle-SymbolicName>
<Import-Package>
org.springframework.osgi.*;resolution:=optional,
org.eclipse.gemini.blueprint.*;resolution:=optional,
com.oracle.svm.core.annotate,
io.netty.internal.tcnative,
com.aayushatharva.brotli4j,
com.barchart.udt,
com.fasterxml.aalto,
com.github.luben.zstd;version="[1.0,2.0)",
gnu.io,
org.osgi.framework;version="[1.9,2.0)",
org.objectweb.asm.*;version="[9.7,10.0)",
sun.management,
sun.invoke.util,
sun.net,
sun.net.www,
sun.nio.ch,
sun.reflect.annotation,
sun.reflect.generics.factory,
sun.reflect.generics.reflectiveObjects,
sun.reflect.generics.repository,
sun.security.jca,
sun.security.provider,
sun.security.ssl,
sun.security.util,
sun.security.x509,
sun.text.spi,
sun.util.calendar,
sun.util.cldr,
sun.util.locale,
sun.util.locale.provider,
sun.util.resources,
jdk.internal,
jdk.internal.access,
jdk.internal.event,
jdk.internal.loader,
jdk.internal.logger,
jdk.internal.misc,
jdk.internal.module,
jdk.internal.org.objectweb.asm,
jdk.internal.platform,
jdk.internal.ref,
jdk.internal.reflect,
jdk.internal.util,
jdk.internal.vm,
jdk.internal.vm.annotation,
jdk.jfr.events,
jdk.jfr.internal,
jdk.jfr.internal.jfc,
jdk.vm.ci.aarch64,
jdk.vm.ci.amd64,
jdk.vm.ci.code,
jdk.vm.ci.code.site,
jdk.vm.ci.code.stack,
jdk.vm.ci.common,
jdk.vm.ci.hotspot,
jdk.vm.ci.hotspot.aarch64,
jdk.vm.ci.meta,
jdk.vm.ci.runtime,
jdk.vm.ci.services,
lzma.sdk,
lzma.sdk.lzma,
net.jpountz.lz4,
net.jpountz.xxhash,
org.apache.logging.log4j.spi,
org.conscrypt,
org.eclipse.jetty.alpn,
org.eclipse.jetty.npn,
org.jboss.marshalling,
reactor.blockhound,
reactor.blockhound.integration,
com.opensymphony.*
*
</Import-Package>
<Embed-Dependency>
protobuf-java;scope=compile|runtime,
protobuf-javanano;scope=compile|runtime,
jzlib;scope=compile|runtime,
compress-lzf;scope=compile|runtime,
svm;scope=compile|runtime,
netty-all;scope=compile|runtime,
netty-tcnative-boringssl-static;scope=compile|runtime,
brotli4j;scope=compile|runtime,
barchart-udt-bundle;scope=compile|runtime,
aalto-xml;scope=compile|runtime,
asm;scope=compile|runtime,
zstd;scope=compile|runtime
</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Export-Package>
fi.i4ware.api,
fi.i4ware.dark,
com.opensymphony.*
com.pusher.*,
com.google.protobuf.*,
com.google.protobuf.nano.*,
com.jcraft.jzlib.*,
com.ning.compress.*,
com.oracle.svm.core.annotate.*,
io.netty.internal.tcnative.*,
org.objectweb.asm.*,
com.sun.jdi,
com.sun.jdi.connect,
com.sun.jdi.event,
com.sun.jdi.request,
com.sun.tools.attach,
com.sun.management.internal,
sun.management,
sun.invoke.util,
sun.net,
sun.net.www,
sun.nio.ch,
sun.reflect.annotation,
sun.reflect.generics.factory,
sun.reflect.generics.reflectiveObjects,
sun.reflect.generics.repository,
sun.security.jca,
sun.security.provider,
sun.security.ssl,
sun.security.util,
sun.security.x509,
sun.text.spi,
sun.util.calendar,
sun.util.cldr,
sun.util.locale,
sun.util.locale.provider,
sun.util.resources,
jdk.internal,
jdk.internal.access,
jdk.internal.event,
jdk.internal.loader,
jdk.internal.logger,
jdk.internal.misc,
jdk.internal.module,
jdk.internal.org.objectweb.asm,
jdk.internal.platform,
jdk.internal.ref,
jdk.internal.reflect,
jdk.internal.util,
jdk.internal.vm,
jdk.internal.vm.annotation,
jdk.jfr.events,
jdk.jfr.internal,
jdk.jfr.internal.jfc,
jdk.vm.ci.aarch64,
jdk.vm.ci.amd64,
jdk.vm.ci.code,
jdk.vm.ci.code.site,
jdk.vm.ci.code.stack,
jdk.vm.ci.common,
jdk.vm.ci.hotspot,
jdk.vm.ci.hotspot.aarch64,
jdk.vm.ci.meta,
jdk.vm.ci.runtime,
jdk.vm.ci.services,
lzma.sdk,
lzma.sdk.lzma,
net.jpountz.lz4,
net.jpountz.xxhash,
org.apache.logging.log4j.spi,
org.conscrypt,
org.eclipse.jetty.alpn,
org.eclipse.jetty.npn,
org.jboss.marshalling,
reactor.blockhound,
reactor.blockhound.integration,
com.aayushatharva.brotli4j,
com.barchart.udt,
com.fasterxml.aalto,
com.github.luben.zstd,
*
</Export-Package>
<Private-Package>
com.pusher,
com.google.protobuf,
com.google.protobuf.nano,
com.jcraft.jzlib,
com.ning.compress,
com.oracle.svm.core.annotate,
io.netty.internal.tcnative,
org.objectweb.asm,
com.github.luben.zstd
</Private-Package>
<DynamicImport-Package>
*
</DynamicImport-Package>
<Bundle-StartLevel>20</Bundle-StartLevel>
</instructions>
</configuration>
</plugin>
</plugins>
<sourceDirectory>src/main/java</sourceDirectory>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>atlassian-plugin.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.*</include>
</includes>
<excludes>
<exclude>atlassian-plugin.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>META-INF/LICENSE/**</include>
</includes>
</resource>
</resources>
</build>
<properties>
<confluence.version>8.6.0</confluence.version>
<confluence.data.version>5.3.4</confluence.data.version>
<amps.version>8.6.0</amps.version>
<activeobjects.version>3.2.7</activeobjects.version>
<plugin.testrunner.version>2.0.2</plugin.testrunner.version>
<atlassian.spring.scanner.version>2.1.7</atlassian.spring.scanner.version>
<upm.license.compatibility.version>2.2.4</upm.license.compatibility.version>
<atlassian.plugin.key>${groupId}.${artifactId}</atlassian.plugin.key>
<platform.version>3.0.0</platform.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
</project>
And also after Pusher plugin need Oracle JDK 17 to get succeed to build.