|  | <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/xsd/maven-4.0.0.xsd"> | 
|  | <modelVersion>4.0.0</modelVersion> | 
|  |  | 
|  | <!-- ** Server | 
|  |  | 
|  | # Start the server with | 
|  |  | 
|  | $ mvn compile exec:java | 
|  |  | 
|  | # Or after packaging | 
|  |  | 
|  | $ mvn clean package | 
|  |  | 
|  | # with | 
|  |  | 
|  | $ java -jar target/Krill-Server.jar | 
|  |  | 
|  | ** Formatter | 
|  |  | 
|  | # Format the code with $ mvn java-formatter:format | 
|  |  | 
|  | ** Indexer | 
|  | # after packaging (see above) | 
|  |  | 
|  | $ java -jar target/Krill-Indexer.jar -c [configuration file] | 
|  | -i [input directories] -o [output directory] | 
|  |  | 
|  | for example: | 
|  |  | 
|  | $ java -jar target/Krill-Indexer.jar -c src/test/resources/krill.properties | 
|  | -i src/test/resources/bzk -o index/ | 
|  |  | 
|  | --> | 
|  |  | 
|  | <groupId>de.ids-mannheim.korap.krill</groupId> | 
|  | <artifactId>Krill</artifactId> | 
|  | <version>0.64.4</version> | 
|  | <packaging>jar</packaging> | 
|  |  | 
|  | <name>Krill</name> | 
|  | <url>https://korap.ids-mannheim.de/</url> | 
|  |  | 
|  | <organization> | 
|  | <name>IDS Mannheim</name> | 
|  | <url>https://www.ids-mannheim.de/</url> | 
|  | </organization> | 
|  |  | 
|  | <developers> | 
|  | <developer> | 
|  | <name>Nils Diewald</name> | 
|  | <email>diewald@ids-mannheim.de</email> | 
|  | <url>https://www.nils-diewald.de</url> | 
|  | </developer> | 
|  | <developer> | 
|  | <name>Eliza Margaretha</name> | 
|  | <email>margaretha@ids-mannheim.de</email> | 
|  | </developer> | 
|  | </developers> | 
|  |  | 
|  | <properties> | 
|  | <java.version>17</java.version> | 
|  | <jersey.version>3.1.11</jersey.version> | 
|  | <log4j.version>2.25.2</log4j.version> | 
|  | <jackson.version>2.18.1</jackson.version> | 
|  | <jackson.version>2.19.2</jackson.version> | 
|  | <lucene.version>5.0.0</lucene.version> | 
|  | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | 
|  | </properties> | 
|  |  | 
|  | <dependencyManagement> | 
|  | <dependencies> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey</groupId> | 
|  | <artifactId>jersey-bom</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>pom</type> | 
|  | <scope>import</scope> | 
|  | </dependency> | 
|  | </dependencies> | 
|  | </dependencyManagement> | 
|  |  | 
|  | <dependencies> | 
|  | <!-- junit dependency --> | 
|  | <dependency> | 
|  | <groupId>junit</groupId> | 
|  | <artifactId>junit</artifactId> | 
|  | <version>4.13.2</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  |  | 
|  | <!-- https://mvnrepository.com/artifact/jakarta.ws.rs/jakarta.ws.rs-api --> | 
|  | <dependency> | 
|  | <groupId>jakarta.ws.rs</groupId> | 
|  | <artifactId>jakarta.ws.rs-api</artifactId> | 
|  | <version>4.0.0</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- log4j dependency --> | 
|  | <dependency> | 
|  | <groupId>org.apache.logging.log4j</groupId> | 
|  | <artifactId>log4j-api</artifactId> | 
|  | <version>${log4j.version}</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.apache.logging.log4j</groupId> | 
|  | <artifactId>log4j-core</artifactId> | 
|  | <version>${log4j.version}</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.apache.logging.log4j</groupId> | 
|  | <artifactId>log4j-slf4j-impl</artifactId> | 
|  | <version>${log4j.version}</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.slf4j</groupId> | 
|  | <artifactId>jul-to-slf4j</artifactId> | 
|  | <version>2.0.17</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- SQLite for database connection tests --> | 
|  | <dependency> | 
|  | <groupId>org.xerial</groupId> | 
|  | <artifactId>sqlite-jdbc</artifactId> | 
|  | <version>3.50.3.0</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Database Connection Pool Manager --> | 
|  | <dependency> | 
|  | <groupId>com.mchange</groupId> | 
|  | <artifactId>c3p0</artifactId> | 
|  | <version>0.11.2</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Lucene core dependency --> | 
|  | <dependency> | 
|  | <artifactId>lucene-core</artifactId> | 
|  | <groupId>org.apache.lucene</groupId> | 
|  | <type>jar</type> | 
|  | <version>${lucene.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Lucene queryparser dependency --> | 
|  | <dependency> | 
|  | <artifactId>lucene-queryparser</artifactId> | 
|  | <groupId>org.apache.lucene</groupId> | 
|  | <type>jar</type> | 
|  | <version>${lucene.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Lucene analyzers dependency --> | 
|  | <dependency> | 
|  | <artifactId>lucene-analyzers-common</artifactId> | 
|  | <groupId>org.apache.lucene</groupId> | 
|  | <type>jar</type> | 
|  | <version>${lucene.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- JCache --> | 
|  | <dependency> | 
|  | <groupId>net.sf.jsr107cache</groupId> | 
|  | <artifactId>jsr107cache</artifactId> | 
|  | <version>1.1</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Jersey --> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.containers</groupId> | 
|  | <artifactId>jersey-container-grizzly2-http</artifactId> | 
|  | </dependency> | 
|  |  | 
|  | <!-- JSON support in Jersey --> | 
|  | <dependency> | 
|  | <groupId>com.fasterxml.jackson.jaxrs</groupId> | 
|  | <artifactId>jackson-jaxrs-json-provider</artifactId> | 
|  | <version>${jackson.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.inject</groupId> | 
|  | <artifactId>jersey-hk2</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- JSON support using Jackson --> | 
|  | <!-- see https://github.com/FasterXML/jackson-core --> | 
|  | <!-- https://github.com/FasterXML/jackson-databind --> | 
|  | <dependency> | 
|  | <groupId>com.fasterxml.jackson.core</groupId> | 
|  | <artifactId>jackson-databind</artifactId> | 
|  | <version>${jackson.version}</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>com.fasterxml.jackson.core</groupId> | 
|  | <artifactId>jackson-annotations</artifactId> | 
|  | <version>${jackson.version}</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>com.fasterxml.jackson.core</groupId> | 
|  | <artifactId>jackson-core</artifactId> | 
|  | <version>${jackson.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- JSON-LD support --> | 
|  | <!-- <dependency> <groupId>com.github.jsonld-java</groupId> <artifactId>jsonld-java</artifactId> | 
|  | <version>0.5.2-SNAPSHOT</version> </dependency> Temporarily disable @Experimental | 
|  | annotation <dependency> <groupId>KorapAnnotationProcessor</groupId> <artifactId>KorapAnnotationProcessor</artifactId> | 
|  | <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> --> | 
|  |  | 
|  | <!-- Some language extensions like StringUtil, IOUtils ... --> | 
|  | <dependency> | 
|  | <groupId>org.apache.commons</groupId> | 
|  | <artifactId>commons-lang3</artifactId> | 
|  | <version>3.19.0</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>commons-cli</groupId> | 
|  | <artifactId>commons-cli</artifactId> | 
|  | <version>1.10.0</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>commons-io</groupId> | 
|  | <artifactId>commons-io</artifactId> | 
|  | <version>2.20.0</version> | 
|  | </dependency> | 
|  |  | 
|  | <!-- Apache Commons Compress for tar archive support --> | 
|  | <dependency> | 
|  | <groupId>org.apache.commons</groupId> | 
|  | <artifactId>commons-compress</artifactId> | 
|  | <version>1.28.0</version> | 
|  | </dependency> | 
|  | </dependencies> | 
|  |  | 
|  | <build> | 
|  | <sourceDirectory>${basedir}/src/main/java</sourceDirectory> | 
|  | <outputDirectory>${basedir}/bin</outputDirectory> | 
|  | <plugins> | 
|  | <plugin> | 
|  | <artifactId>maven-compiler-plugin</artifactId> | 
|  | <version>3.14.1</version> | 
|  | <inherited>true</inherited> | 
|  | <configuration> | 
|  | <showWarnings>true</showWarnings> | 
|  | <source>${java.version}</source> | 
|  | <target>${java.version}</target> | 
|  | </configuration> | 
|  | </plugin> | 
|  |  | 
|  | <plugin> | 
|  | <groupId>org.apache.maven.plugins</groupId> | 
|  | <artifactId>maven-shade-plugin</artifactId> | 
|  | <version>3.6.1</version> | 
|  | <executions> | 
|  | <execution> | 
|  | <id>indexer</id> | 
|  | <phase>package</phase> | 
|  | <goals> | 
|  | <goal>shade</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <createDependencyReducedPom>false</createDependencyReducedPom> | 
|  | <transformers> | 
|  | <transformer | 
|  | implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> | 
|  | <mainClass>de.ids_mannheim.korap.index.Indexer</mainClass> | 
|  | </transformer> | 
|  | </transformers> | 
|  | <finalName>${project.artifactId}-Indexer</finalName> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>server</id> | 
|  | <phase>package</phase> | 
|  | <goals> | 
|  | <goal>shade</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <createDependencyReducedPom>false</createDependencyReducedPom> | 
|  | <transformers> | 
|  | <transformer | 
|  | implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> | 
|  | <mainClass>de.ids_mannheim.korap.server.Node</mainClass> | 
|  | </transformer> | 
|  | <transformer | 
|  | implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> | 
|  | <resource>krill.properties</resource> | 
|  | </transformer> | 
|  | </transformers> | 
|  | <finalName>${project.name}-Server</finalName> | 
|  | </configuration> | 
|  | </execution> | 
|  | </executions> | 
|  | </plugin> | 
|  |  | 
|  | <plugin> | 
|  | <groupId>org.apache.maven.plugins</groupId> | 
|  | <artifactId>maven-surefire-plugin</artifactId> | 
|  | <version>3.5.4</version> | 
|  | <configuration> | 
|  | <useSystemClassLoader>false</useSystemClassLoader> | 
|  | <argLine>-Xmx512m</argLine> | 
|  | <excludes> | 
|  | <exclude>**/benchmark/*</exclude> | 
|  | <exclude>**/TestWPDIndex.java</exclude> | 
|  | <exclude>**/TestRealIndex.java</exclude> | 
|  | <exclude>**/TestSampleIndex.java</exclude> | 
|  | <exclude>**/TestParallelIndex.java</exclude> | 
|  | </excludes> | 
|  | </configuration> | 
|  | </plugin> | 
|  |  | 
|  | <!-- Formatter plugin for Eclipse based coding conventions http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html --> | 
|  | <plugin> | 
|  | <groupId>com.googlecode.maven-java-formatter-plugin</groupId> | 
|  | <artifactId>maven-java-formatter-plugin</artifactId> | 
|  | <version>0.4</version> | 
|  | <configuration> | 
|  | <configFile>${project.basedir}/Format.xml</configFile> | 
|  | <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion> | 
|  | <compilerSource>${java.version}</compilerSource> | 
|  | <compilerCompliance>${java.version}</compilerCompliance> | 
|  | <compilerTargetPlatform>${java.version}</compilerTargetPlatform> | 
|  | </configuration> | 
|  | </plugin> | 
|  |  | 
|  | <plugin> | 
|  | <groupId>org.codehaus.mojo</groupId> | 
|  | <artifactId>exec-maven-plugin</artifactId> | 
|  | <version>3.5.1</version> | 
|  | <executions> | 
|  | <execution> | 
|  | <goals> | 
|  | <goal>java</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <mainClass>de.ids_mannheim.korap.server.Node</mainClass> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>run-krill-indexer-jar</id> | 
|  | <phase>verify</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>java</executable> | 
|  | <arguments> | 
|  | <argument>-jar</argument> | 
|  | <argument>${project.build.directory}/Krill-Indexer.jar</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | </executions> | 
|  | </plugin> | 
|  | </plugins> | 
|  |  | 
|  | <resources> | 
|  | <resource> | 
|  | <directory>src/main/resources</directory> | 
|  | <filtering>true</filtering> | 
|  | <includes> | 
|  | <include>krill.info</include> | 
|  | </includes> | 
|  | </resource> | 
|  | <resource> | 
|  | <directory>src/main/resources</directory> | 
|  | <filtering>false</filtering> | 
|  | <excludes> | 
|  | <exclude>krill.info</exclude> | 
|  | </excludes> | 
|  | </resource> | 
|  | </resources> | 
|  |  | 
|  | <testResources> | 
|  | <testResource> | 
|  | <directory>src/test/resources</directory> | 
|  | <filtering>true</filtering> | 
|  | <includes> | 
|  | <include>krill.properties</include> | 
|  | </includes> | 
|  | </testResource> | 
|  | <testResource> | 
|  | <directory>src/test/resources</directory> | 
|  | <filtering>false</filtering> | 
|  | <excludes> | 
|  | <exclude>krill.properties</exclude> | 
|  | </excludes> | 
|  | </testResource> | 
|  | </testResources> | 
|  | </build> | 
|  | </project> |