【问题标题】:Seedstack with Spring batch integration带有 Spring 批处理集成的 Seedstack
【发布时间】:2018-07-15 20:09:58
【问题描述】:

如何使用 capsule.jar 从 seedstack 中的命令行运行作业?有什么方法可以在 jar 中添加所有依赖项,以避免设置类路径?有样品吗?

【问题讨论】:

    标签: spring-batch seedstack


    【解决方案1】:

    SeedStack Capsule 集成的目的是构建一个可执行的 über-JAR,其中包含运行应用程序所需的所有依赖项。在这种情况下,您不需要配置类路径。

    要构建胶囊,您必须使用 SeedStack 插件的 package 目标,使用模块的 pom.xml 中的此插件部分:

    <plugin>
        <groupId>org.seedstack</groupId>
        <artifactId>seedstack-maven-plugin</artifactId>
        <version>2.7.1</version>
        <executions>
            <execution>
                <id>build-capsule</id>
                <goals>
                    <goal>package</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    这将在模块target 目录中构建胶囊JAR。然后这个胶囊 JAR 可以作为标准的可执行 JAR 运行:

    java [jvm-args] -jar capsule.jar [app-args]
    

    在您的情况下,您将使用以下方式运行批处理作业:

    java -jar capsule.jar run-job --job someJob
    

    相关文档可在此处获得:

    【讨论】:

      【解决方案2】:

      有什么方法可以在jar中添加所有依赖项,这样就可以避免设置类路径?

      您可以使用以下方法创建一个 uber jar:

      有样品吗?

      您可以在 Spring Batch 入门示例中找到一个示例:https://spring.io/guides/gs/batch-processing/(请参阅“构建可执行 JAR”部分)

      【讨论】:

        【解决方案3】:

        我已经创建了以 pacakge 作为胶囊的示例 sedstack cli 项目,并使用以下命令执行了相同的操作:

        java -jar my-cli-project-capsule.jar 示例

        效果很好。

        我在以下位置分享了胶囊: https://github.com/smohane/sudeshrepo/tree/seed-samples

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-13
          • 2021-02-14
          • 1970-01-01
          • 2020-12-15
          • 1970-01-01
          • 2022-12-05
          • 1970-01-01
          • 2021-05-31
          相关资源
          最近更新 更多