1

今天,我正在加载一个带有这些依赖项的 pom。但是,由此创建的 SpringBoot jar 很大,我认为这是因为它实际上包含所有 Snappy Store jar 等。

构建的 SpringBoot Jar 捆绑了所有 Jetty jar,因为 Snappy 使用嵌入式 Web 应用程序 (Pulse)。我不想要所有这些,特别是因为现在 SpringBoot 从 Jetty 开始,而我想要 EmbeddedTomcat。

我可以包含一组特定的仅限客户端的 Maven 依赖项吗?

<dependency>
        <groupId>io.snappydata</groupId>
        <artifactId>snappy-core_2.10</artifactId>
        <version>0.5</version>
    </dependency>
    <dependency>
        <groupId>io.snappydata</groupId>
        <artifactId>snappy-cluster_2.10</artifactId>
        <version>0.5</version>
        <exclusions>
            <exclusion>
                <artifactId>jdk.tools</artifactId>
                <groupId>jdk.tools</groupId>
            </exclusion>
            <exclusion>
                <artifactId>logback-classic</artifactId>
                <groupId>ch.qos.logback</groupId>
            </exclusion>
        </exclusions>
    </dependency>
4

1 回答 1

1

您可以使用snappydata-store-client工件来拉取客户端 jar:

<dependency>
  <groupId>io.snappydata</groupId>
  <artifactId>snappydata-store-client</artifactId>
  <version>1.5.0</version>
</dependency>

如果使用 Spark 的任何复杂类型(ArrayType、MapType、StructType),则客户端将无法仅使用客户端 jar 反序列化结果。对于这种情况,您可以使用“ complexTypeAsClob”查询提示来获取值的字符串形式(CLOB):

SELECT * FROM table1 /*+ complexTypeAsClob(1) */
于 2016-08-03T16:42:33.720 回答