Repository: tika Updated Branches: refs/heads/2.x e1498edbb -> dd8ce5bbd
TIKA-1855 -- put back tika-parsers for now. Turned forbiddenapis testCheck back on with proper disabling in tika-test-resources, thanks to Uwe's advice. Project: http://git-wip-us.apache.org/repos/asf/tika/repo Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/dd8ce5bb Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/dd8ce5bb Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/dd8ce5bb Branch: refs/heads/2.x Commit: dd8ce5bbdd456e3f2506e5527be108eb78861d80 Parents: e1498ed Author: tballison <[email protected]> Authored: Tue Mar 22 12:48:14 2016 -0400 Committer: tballison <[email protected]> Committed: Tue Mar 22 12:48:14 2016 -0400 ---------------------------------------------------------------------- pom.xml | 1 + tika-batch/pom.xml | 7 - .../org/apache/tika/mime/custom-mimetypes.xml | 5 + tika-example/pom.xml | 7 - tika-parent/pom.xml | 3 +- tika-parsers/pom.xml | 306 +++++++++++++++++++ .../main/appended-resources/META-INF/LICENSE | 95 ++++++ .../apache/tika/parser/internal/Activator.java | 54 ++++ tika-server/pom.xml | 7 - .../org/apache/tika/server/StackTraceTest.java | 2 +- tika-test-resources/pom.xml | 9 + 11 files changed, 472 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index ea4f114..7df81eb 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ <module>tika-core</module> <module>tika-parser-modules</module> <module>tika-parser-bundles</module> + <module>tika-parsers</module> <module>tika-xmp</module> <module>tika-serialization</module> <module>tika-batch</module> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-batch/pom.xml ---------------------------------------------------------------------- diff --git a/tika-batch/pom.xml b/tika-batch/pom.xml index c3b9e19..161e22f 100644 --- a/tika-batch/pom.xml +++ b/tika-batch/pom.xml @@ -69,13 +69,6 @@ <version>${commons.io.version}</version> </dependency> <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>tika-parsers</artifactId> - <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-core/src/test/resources/org/apache/tika/mime/custom-mimetypes.xml ---------------------------------------------------------------------- diff --git a/tika-core/src/test/resources/org/apache/tika/mime/custom-mimetypes.xml b/tika-core/src/test/resources/org/apache/tika/mime/custom-mimetypes.xml index 2408150..2a0a955 100644 --- a/tika-core/src/test/resources/org/apache/tika/mime/custom-mimetypes.xml +++ b/tika-core/src/test/resources/org/apache/tika/mime/custom-mimetypes.xml @@ -42,4 +42,9 @@ <match value="Hello, World!" type="string" offset="0:13" /> </magic> </mime-type> + <mime-type type="application/mock+xml"> + <root-XML localName="mock"/> + <sub-class-of type="application/xml"/> + </mime-type> + </mime-info> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-example/pom.xml ---------------------------------------------------------------------- diff --git a/tika-example/pom.xml b/tika-example/pom.xml index 6584f15..cfc4868 100644 --- a/tika-example/pom.xml +++ b/tika-example/pom.xml @@ -68,13 +68,6 @@ <version>${project.version}</version> </dependency> <dependency> - <groupId>org.apache.tika</groupId> - <artifactId>tika-parsers</artifactId> - <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> <groupId>javax.jcr</groupId> <artifactId>jcr</artifactId> <version>2.0</version> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-parent/pom.xml ---------------------------------------------------------------------- diff --git a/tika-parent/pom.xml b/tika-parent/pom.xml index 7d4657b..08b955e 100644 --- a/tika-parent/pom.xml +++ b/tika-parent/pom.xml @@ -395,8 +395,7 @@ <execution> <goals> <goal>check</goal> - <!-- TODO: turn this back on! - <goal>testCheck</goal> --> + <goal>testCheck</goal> </goals> </execution> </executions> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-parsers/pom.xml ---------------------------------------------------------------------- diff --git a/tika-parsers/pom.xml b/tika-parsers/pom.xml new file mode 100644 index 0000000..1348b17 --- /dev/null +++ b/tika-parsers/pom.xml @@ -0,0 +1,306 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<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> + + <parent> + <groupId>org.apache.tika</groupId> + <artifactId>tika-parent</artifactId> + <version>2.0-SNAPSHOT</version> + <relativePath>../tika-parent/pom.xml</relativePath> + </parent> + + <artifactId>tika-parsers</artifactId> + <packaging>bundle</packaging> + <name>Apache Tika parsers</name> + <url>http://tika.apache.org/</url> + + <properties> + <vorbis.version>0.6</vorbis.version> + </properties> + + <dependencies> + <!-- Optional OSGi dependency, used only when running within OSGi --> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + <version>4.0.0</version> + <scope>provided</scope> + <optional>true</optional> + </dependency> + + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-multimedia-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-advanced-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-cad-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-code-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-crypto-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-database-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-ebook-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-journal-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-office-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-package-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-pdf-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-scientific-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-text-module</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>tika-parser-web-module</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- Optional OSGi dependencies, used only when running within OSGi --> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.scr.annotations</artifactId> + <scope>provided</scope> + </dependency> + + <!-- Externally Maintained Parsers --> + <dependency> + <groupId>org.gagravarr</groupId> + <artifactId>vorbis-java-tika</artifactId> + <version>${vorbis.version}</version> + </dependency> + <dependency> + <groupId>org.gagravarr</groupId> + <artifactId>vorbis-java-core</artifactId> + <version>${vorbis.version}</version> + </dependency> + + <!-- Test dependencies --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.tika</groupId> + <artifactId>tika-core</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.tika</groupId> + <artifactId>tika-test-resources</artifactId> + <version>${project.version}</version> + <type>test-jar</type> + <scope>test</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Bundle-DocURL>${project.url}</Bundle-DocURL> + <Bundle-Activator> + org.apache.tika.parser.internal.Activator + </Bundle-Activator> + <Import-Package> + org.w3c.dom, + org.apache.tika.*, + *;resolution:=optional + </Import-Package> + </instructions> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>2.4.2</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <createDependencyReducedPom> + false + </createDependencyReducedPom> + <artifactSet> + <includes> + <include>org.apache.tika:tika-parser-multimedia-module</include> + <include>org.apache.tika:tika-parser-advanced-module</include> + <include>org.apache.tika:tika-parser-cad-module</include> + <include>org.apache.tika:tika-parser-code-module</include> + <include>org.apache.tika:tika-parser-crypto-module</include> + <include>org.apache.tika:tika-parser-database-module</include> + <include>org.apache.tika:tika-parser-ebook-module</include> + <include>org.apache.tika:tika-parser-journal-module</include> + <include>org.apache.tika:tika-parser-office-module</include> + <include>org.apache.tika:tika-parser-package-module</include> + <include>org.apache.tika:tika-parser-pdf-module</include> + <include>org.apache.tika:tika-parser-scientific-module</include> + <include>org.apache.tika:tika-parser-text-module</include> + <include>org.apache.tika:tika-parser-web-module</include> + </includes> + </artifactSet> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> + <resource>META-INF/services/org.apache.tika.detect.Detector</resource> + </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> + <resource>META-INF/services/org.apache.tika.detect.EncodingDetector</resource> + </transformer> + <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> + <resource>META-INF/services/org.apache.tika.parser.Parser</resource> + </transformer> + </transformers> + </configuration> + </execution> + </executions> + </plugin> +<!-- <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> --> + </plugins> + + <pluginManagement> + <plugins> + <!-- This plugin's configuration is used to store Eclipse m2e --> + <!-- settings only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId>org.apache.felix</groupId> + <artifactId>maven-scr-plugin</artifactId> + <versionRange>[1.7.2,)</versionRange> + <goals> + <goal>scr</goal> + </goals> + </pluginExecutionFilter> + <action> + <execute /> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + + <organization> + <name>The Apache Software Foundation</name> + <url>http://www.apache.org</url> + </organization> + <scm> + <url>http://svn.apache.org/viewvc/tika/trunk/tika-parsers</url> + <connection>scm:svn:http://svn.apache.org/repos/asf/tika/trunk/tika-parsers</connection> + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/tika/trunk/tika-parsers</developerConnection> + </scm> + <issueManagement> + <system>JIRA</system> + <url>https://issues.apache.org/jira/browse/TIKA</url> + </issueManagement> + <ciManagement> + <system>Jenkins</system> + <url>https://builds.apache.org/job/Tika-trunk/</url> + </ciManagement> +</project> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-parsers/src/main/appended-resources/META-INF/LICENSE ---------------------------------------------------------------------- diff --git a/tika-parsers/src/main/appended-resources/META-INF/LICENSE b/tika-parsers/src/main/appended-resources/META-INF/LICENSE new file mode 100644 index 0000000..49e6f82 --- /dev/null +++ b/tika-parsers/src/main/appended-resources/META-INF/LICENSE @@ -0,0 +1,95 @@ +APACHE TIKA SUBCOMPONENTS + +Apache Tika includes a number of subcomponents with separate copyright notices +and license terms. Your use of these subcomponents is subject to the terms and +conditions of the following licenses. + +Charset detection code from ICU4J (http://site.icu-project.org/) + + Copyright (c) 1995-2009 International Business Machines Corporation + and others + + All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, and/or sell copies of the Software, and to permit persons + to whom the Software is furnished to do so, provided that the above + copyright notice(s) and this permission notice appear in all copies + of the Software and that both the above copyright notice(s) and this + permission notice appear in supporting documentation. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE + BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, + OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + + Except as contained in this notice, the name of a copyright holder shall + not be used in advertising or otherwise to promote the sale, use or other + dealings in this Software without prior written authorization of the + copyright holder. + + +JUnRAR (https://github.com/edmund-wagner/junrar/) + + JUnRAR is based on the UnRAR tool, and covered by the same license + It was formerly available from http://java-unrar.svn.sourceforge.net/ + + ****** ***** ****** UnRAR - free utility for RAR archives + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ****** ******* ****** License for use and distribution of + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ** ** ** ** ** ** FREE portable version + ~~~~~~~~~~~~~~~~~~~~~ + + The source code of UnRAR utility is freeware. This means: + + 1. All copyrights to RAR and the utility UnRAR are exclusively + owned by the author - Alexander Roshal. + + 2. The UnRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified UnRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + 3. The UnRAR utility may be freely distributed. It is allowed + to distribute UnRAR inside of other software packages. + + 4. THE RAR ARCHIVER AND THE UnRAR UTILITY ARE DISTRIBUTED "AS IS". + NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT + YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, + DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING + OR MISUSING THIS SOFTWARE. + + 5. Installing and using the UnRAR utility signifies acceptance of + these terms and conditions of the license. + + 6. If you don't agree with terms of the license you must remove + UnRAR files from your storage devices and cease to use the + utility. + + Thank you for your interest in RAR and UnRAR. Alexander L. Roshal + +Sqlite (included in the "provided" org.xerial's sqlite-jdbc) + Sqlite is in the Public Domain. For details + see: https://www.sqlite.org/copyright.html + +Two photos in test-documents (testWebp_Alpha_Lossy.webp and testWebp_Alpha_Lossless.webp) + are in the public domain. These files were retrieved from: + https://github.com/drewnoakes/metadata-extractor-images/tree/master/webp + These photos are also available here: + https://developers.google.com/speed/webp/gallery2#webp_links + Credits for the photo: + "Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers" + Image Author: Jon Sullivan + http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java ---------------------------------------------------------------------- diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java b/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java new file mode 100644 index 0000000..a884d3a --- /dev/null +++ b/tika-parsers/src/main/java/org/apache/tika/parser/internal/Activator.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tika.parser.internal; + +import java.util.Properties; + +import org.apache.tika.detect.DefaultDetector; +import org.apache.tika.detect.Detector; +import org.apache.tika.parser.DefaultParser; +import org.apache.tika.parser.Parser; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; + +public class Activator implements BundleActivator { + + private ServiceRegistration detectorService; + + private ServiceRegistration parserService; + + @Override + public void start(BundleContext context) throws Exception { + detectorService = context.registerService( + Detector.class.getName(), + new DefaultDetector(Activator.class.getClassLoader()), + new Properties()); + Parser parser = new DefaultParser(Activator.class.getClassLoader()); + parserService = context.registerService( + Parser.class.getName(), + parser, + new Properties()); + } + + @Override + public void stop(BundleContext context) throws Exception { + parserService.unregister(); + detectorService.unregister(); + } + +} http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-server/pom.xml ---------------------------------------------------------------------- diff --git a/tika-server/pom.xml b/tika-server/pom.xml index 7d118cb..e7a76e9 100644 --- a/tika-server/pom.xml +++ b/tika-server/pom.xml @@ -118,13 +118,6 @@ <version>${cxf.version}</version> </dependency> <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>tika-parsers</artifactId> - <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>${project.version}</version> http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java ---------------------------------------------------------------------- diff --git a/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java b/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java index a45d1eb..16f2de3 100644 --- a/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java +++ b/tika-server/src/test/java/org/apache/tika/server/StackTraceTest.java @@ -105,7 +105,7 @@ public class StackTraceTest extends CXFTestBase { assertEquals("unprocessable: " + path, UNPROCESSEABLE, response.getStatus()); String msg = getStringFromInputStream((InputStream) response .getEntity()); - assertContains("Caused by: java.lang.NullPointerException: another null pointer exception", + assertContains("Caused by: java.lang.NullPointerException: null pointer message", msg); } } http://git-wip-us.apache.org/repos/asf/tika/blob/dd8ce5bb/tika-test-resources/pom.xml ---------------------------------------------------------------------- diff --git a/tika-test-resources/pom.xml b/tika-test-resources/pom.xml index 30d41e0..0b0b04c 100644 --- a/tika-test-resources/pom.xml +++ b/tika-test-resources/pom.xml @@ -65,6 +65,15 @@ </profiles> <build> <plugins> + <!-- No code to check in tika-test-resources. + No need for forbidden API checking.--> + <plugin> + <groupId>de.thetaphi</groupId> + <artifactId>forbiddenapis</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId>
