Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[geomesa-dev] REST API to GeoMesa using Jersey

Hello everyone,

I have encounter a very mind-blowing issue while trying to create a REST API for a Geomesa-Accumulo datastore using Jersey,
I am using Accumulo 1.7.3 with Hadoop 2.2.0 with geomesa-accumulo_2.11-1.3.5.
To the best of my knowledge Hadoop requires Jersey 1.9 which includes to the project dependencies.

I would like to use Jersey 2.17+ but when I include is in my project I get
java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder
which is expected(?) due to the fact that I have two Jersey version in the web libs.

When I remove the Jersey import, hoping to use the Jersey 1.9 already included by Hadoop I get


javax.servlet.ServletException: Servlet.init() for servlet Sensorthing-Servlet threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:748)


Please also find attached the pom.xml file that I use.
Any ideas or suggestions regarding how to set up my pox.xml file so that the project can work are more than welcomed.

Thank you very much for you time.

Best regards,
Maria.
<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>
    <groupId>SensorThing</groupId>
    <artifactId>SensorThing</artifactId>
    <version>1</version>
    <packaging>war</packaging>
    <url>http://maven.apache.org</url>
    <properties>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <geomesa.version>2.11-1.3.5</geomesa.version>
        <gt.version>15.1</gt.version>
        <scala.abi.version>2.11</scala.abi.version>
        <scala.version>2.11.7</scala.version>
        <!-- environment specific variables-->
        <accumulo.version>1.7.3</accumulo.version>
        <zookeeper.version>3.4.6</zookeeper.version>
        <hadoop.version>2.2.0</hadoop.version>
        <hbase.hadoop.version>2.2.0</hbase.hadoop.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- redefine provided dependencies as runtime for ease in setting up the classpath -->
            <dependency>
                <groupId>org.apache.accumulo</groupId>
                <artifactId>accumulo-core</artifactId>
                <version>${accumulo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.accumulo</groupId>
                <artifactId>accumulo-start</artifactId>
                <version>${accumulo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-common</artifactId>
                <version>${hadoop.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.curator</groupId>
                        <artifactId>curator-client</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-client</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.hadoop</groupId>
                <artifactId>hadoop-auth</artifactId>
                <version>${hadoop.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20140107</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>org.locationtech.geomesa</groupId>
            <artifactId>geomesa-accumulo-datastore_2.11</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.locationtech.geomesa</groupId>
            <artifactId>geomesa-index-api_2.11</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.locationtech.geomesa</groupId>
            <artifactId>geomesa-utils_2.11</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.accumulo</groupId>
            <artifactId>accumulo-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.accumulo</groupId>
            <artifactId>accumulo-start</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
        </dependency>
    </dependencies>
</project>

Back to the top