【问题标题】:How to run json-schema-validator from the command line如何从命令行运行 json-schema-validator
【发布时间】:2014-05-17 01:06:05
【问题描述】:

是否可以从命令行运行 json-schema-validator?

是否有 json-schema-validator 的 jar 文件?我在以下位置找到了一个罐子:

 [http://mvnrepository.com/artifact/com.github.fge/json-schema-validator/2.1.8][1]

但它似乎已损坏/不完整/某些东西(我不是 Java 程序员)。将 java.exe 应用于 jar 文件:

 java -jar json-schema-validator-2.1.8.jar

导致此错误消息:

 "no main manifest attribute, in json-schema-validator-2.1.8.jar"

这是什么意思?

这是我的问题:

  1. 在哪里可以获得正确的 json-schema-validator jar 文件?

  2. 获得 jar 文件后,如何在命令行上使用它来根据 json-schema 文件验证 json 文件?也就是说,我想在命令行上输入如下内容:

 java -jar json-schema-validator-2.1.8.jar instance.json schema.json

并让验证器根据 schema.json 验证 instance.json,并在命令行上显示验证结果。

谢谢!

【问题讨论】:

  • 并非所有的 jars 都是可执行的。如果没有任何命令行处理器,您仍然可以编写自己的,添加到 jar 并使其可执行 - 请参阅 mkyong.com/java/how-to-make-an-executable-jar-file
  • (author here) 正如我们在邮件中讨论的那样,这是 2.2.0 的计划功能;敬请期待;)

标签: java json validation jar json-schema-validator


【解决方案1】:

您也可以尝试构建和安装 C++ https://bitbucket.org/gallen/libvariant 工具,以解决您的问题。

Cli 命令 - varsh

【讨论】:

    【解决方案2】:

    好的,从 2.1.10 版开始,您实际上可以做到这一点。 the README of the project 中提供了说明。以下是当前版本的帮助:

    $ java -Done-jar.silent=true -jar json-schema-validator-2.1.10-standalone.jar --help
    Syntax: java -jar jsonschema.jar [options] file [file...]
    
    Options: 
        -s, --brief: only show validation status (OK/NOT OK)
        --help: show this help
        -q, --quiet: no output; exit with the relevant return code (see below)
        --syntax: check the syntax of schema(s) given as argument(s)
    
    Exit codes:
        0: validation successful;
        1: exception occurred (appears on stderr)
        2: command line syntax error (missing argument, etc)
        100: one or more file(s) failed validation
        101: one or more schema(s) is/are invalid
    

    【讨论】:

    • 在 2.2.x 中,概要更清晰 - 首先列出了架构文件:java -jar jsonschema.jar [options] 架构文件 [file...](其中 jar 实际上是 /json -schema-validator-${JSV_VERSION}-lib.jar 文件,可执行并包含所有依赖项)
    猜你喜欢
    • 2010-10-29
    • 2011-03-19
    • 2021-12-03
    • 2012-08-07
    • 2016-05-14
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    相关资源
    最近更新 更多