Skip to content

Commit

Permalink
Fixed issues with multi-release jar (#706, #708)
Browse files Browse the repository at this point in the history
Change-Id: I97d70dde790a3838962f0ffe270b9b1d8595a489
  • Loading branch information
margaretha committed Dec 22, 2023
1 parent 8ae2462 commit fbf7cfd
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 70 deletions.
2 changes: 2 additions & 0 deletions full/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
- Updated token response using Nimbus (#650)
- Remove Oltu request and validator implementations (#650)
- Updated OAuth2 response handler (#650)
- Fixed ShutdownHandler (fixed #708)
- Fixed issues with multi-release jar (#706, #708)


# version 0.71.1
Expand Down
78 changes: 26 additions & 52 deletions full/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
<hibernate.ehcache.version>6.0.0.Alpha7</hibernate.ehcache.version>
<hibernate.version>6.1.7.Final</hibernate.version>
<spring.version>6.0.13</spring.version>
<!-- spring6.version is used in jersey and defined here
to make sure that jersey uses the correct spring version-->
<spring6.version>${spring.version}</spring6.version>
<jetty.version>11.0.18</jetty.version>
<flyway.version>10.0.1</flyway.version>
<log4j.version>2.21.1</log4j.version>
Expand Down Expand Up @@ -40,21 +43,29 @@
<configuration>
<finalName>Kustvakt-full-${project.version}</finalName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>
de.ids_mannheim.korap.server.KustvaktServer
</mainClass>
<manifestEntries>
<Multi-Release>true</Multi-Release>
</manifestEntries>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers
</resource>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas
</resource>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring/aot.factories</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/hk2-locator/default</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
</transformers>
<filters>
Expand Down Expand Up @@ -99,6 +110,9 @@
<mainClass>
de.ids_mannheim.korap.server.KustvaktLiteServer
</mainClass>
<manifestEntries>
<Multi-Release>true</Multi-Release>
</manifestEntries>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
Expand All @@ -124,7 +138,6 @@
<exclude>org.glassfish.jersey.test-framework*</exclude>
<exclude>org.apache.velocity*</exclude>
<exclude>com.sun.mail</exclude>
<exclude>javax.activation</exclude>
</excludes>
</filter>
</filters>
Expand Down Expand Up @@ -255,28 +268,8 @@
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring6</artifactId>
<version>${jersey.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</exclusion>
</exclusions>
<!-- as long as we set spring6.version property transitive deps are ok
-->
</dependency>

<!-- JSON -->
Expand Down Expand Up @@ -422,9 +415,6 @@
<version>0.4</version>
</dependency>

<!--<dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version> </dependency> -->

<dependency>
<groupId>de.ids_mannheim.korap</groupId>
<artifactId>Krill</artifactId>
Expand Down Expand Up @@ -483,16 +473,6 @@
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId>
<version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId> <version>${spring.version}</version>
Expand Down Expand Up @@ -723,12 +703,6 @@
<version>2.1.2</version>
</dependency>

<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>

<!-- OAuth -->
<dependency>
<groupId>com.nimbusds</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
import org.glassfish.jersey.server.ServerProperties;
import org.glassfish.jersey.servlet.ServletContainer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.XmlWebApplicationContext;

import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.encryption.RandomCodeGenerator;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import jakarta.servlet.ServletContextListener;
import lombok.Getter;
import lombok.Setter;

Expand All @@ -40,9 +40,10 @@ public abstract class KustvaktBaseServer {
protected static KustvaktArgs kargs;

public KustvaktBaseServer () {
rootPackages = "de.ids_mannheim.korap.core.web; "
+ "de.ids_mannheim.korap.web; "
+ "com.fasterxml.jackson.jaxrs.json;";
rootPackages = "de.ids_mannheim.korap.core.web;"
+ "de.ids_mannheim.korap.web;"
// + "com.fasterxml.jackson.jaxrs.json;"
;

File d = new File(KustvaktConfiguration.DATA_FOLDER);
if (!d.exists()) {
Expand Down Expand Up @@ -103,24 +104,21 @@ protected void start ()

Server server = new Server();

String configLocation = "classpath:" + springConfig;
if (kargs.getSpringConfig() != null) {
configLocation = "file:" + kargs.getSpringConfig();
}
XmlWebApplicationContext context = new XmlWebApplicationContext();
context.setConfigLocation(configLocation);

ServletContextHandler contextHandler = new ServletContextHandler(
ServletContextHandler.NO_SESSIONS);
contextHandler.setContextPath("/");

if (kargs.getSpringConfig() != null) {
contextHandler.setInitParameter("contextConfigLocation",
"file:" + kargs.getSpringConfig());
}
else {
contextHandler.setInitParameter("contextConfigLocation",
"classpath:" + this.springConfig);
}

ServletContextListener listener = new ContextLoaderListener();
contextHandler.addEventListener(listener);
contextHandler.addEventListener(new ContextLoaderListener(context));
contextHandler.setInitParameter("adminToken", adminToken);

ServletHolder servletHolder = new ServletHolder(new ServletContainer());
ServletHolder servletHolder = new ServletHolder(
new ServletContainer());
servletHolder.setInitParameter(ServerProperties.PROVIDER_PACKAGES,
rootPackages);
servletHolder.setInitOrder(1);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package de.ids_mannheim.korap.web.utils;

import java.util.Arrays;
import java.util.List;

import org.glassfish.jersey.model.internal.CommonConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import de.ids_mannheim.korap.web.filter.APIVersionFilter;
import edu.emory.mathcs.backport.java.util.Arrays;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.Priority;
import jakarta.ws.rs.container.DynamicFeature;
import jakarta.ws.rs.container.ResourceInfo;
import jakarta.ws.rs.core.FeatureContext;
Expand Down

0 comments on commit fbf7cfd

Please sign in to comment.