Файл jar экземпляра (клиент Snark)

На веб-сайте клиента Snark ( http://www.staging.threerings.net/snark.html) говорится, что нужно создать файл jar для загрузки клиента. Я ссылался на этот вопрос на веб-сайте сообщества оракулов ( https://community.oracle.com/message/8935199), из-за которого можно было сказать, что вы можете создать экземпляр файла jar с помощью:

Snark.main(args);

Однако, когда я запускаю мою программу с тем вызовом метода main, который указан выше, она вообще не отображает мой графический интерфейс, а вместо этого отображает это в консоли:

The Hunting of the Snark Project - Copyright (C) 2003 Mark J. Wielaard

Snark comes with ABSOLUTELY NO WARRANTY.  This is free software, and
you are welcome to redistribute it under certain conditions; read the
COPYING file for details.

    snark: Need exactly one <url>, <file> or <dir>.
    Usage: snark [--debug [level]] [--no-commands] [--port <port>]
                 [--share (<ip>|<host>)] (<url>|<file>|<dir>)
      --debug   Shows some extra info and stacktraces
        level   How much debug details to show
                (defaults to 3, with --debug to 4, highest level is 6).
      --no-commands Don't read interactive commands or show usage info.
      --port    The port to listen on for incomming connections
                (if not given defaults to first free port between 6881-6889).
      --share   Start torrent tracker on <ip> address or <host> name.
      <url>     URL pointing to .torrent metainfo file to download/share.
      <file>    Either a local .torrent metainfo file to download
                or (with --share) a file to share.
      <dir>     A directory with files to share (needs --share).

Затем я обратился к этому веб-сайту ( http://www.klomp.org/snark/), который дал мне пример использования клиента. Приведенные примеры не имели для меня никакого смысла и выглядели как командные строки. Это один из примеров на сайте:

./snark somefile.torrent

Я занимался этим несколько недель, и любая помощь по внедрению клиента snark в мою программу была бы полезна.

1 ответ

Я не уверен, за что вы проходите args но кажется, что программа не получает никаких аргументов, но требует некоторых. Чтобы эмулировать пример веб-сайта, который вы показываете, только программно из вашей собственной программы:

String[] args =  { "somefile.torrent" };
Snark.main(args);

Если у вас есть определенный файл, который вы хотите передать, вам может понадобиться использовать абсолютный путь к файлу для строкового значения. Важным моментом является то, что main(args) занимает String массив, представляющий аргументы командной строки. Так что, если вы собираетесь запустить Snark из командной строки с snark --debug 6 ты бы хотел args быть {"--debug", "6"},

Другие вопросы по тегам