Nano Hash - криптовалюты, майнинг, программирование

Экспорт jar с аргументами виртуальной машины

Я написал приложение Java с Eclipse, которое использует SWT для пользовательского интерфейса. (см. #22275111">Исключение SWT при запуске jar: Исключение в потоке main org.eclipse.swt.SWTException: Недопустимый доступ к потоку для подробностей).

Я экспортировал как JAR, и у меня возникли проблемы с его запуском из Finder, а также из терминала. Наконец-то я смог запустить его из терминала с помощью java -XstartOnFirstThread -jar CommonDenom.jar

Однако я все еще не могу запустить его, когда экспортирую JAR из eclipse. Это потому, что ему нужен аргумент -XstartOnFirstThread, связанный с ним при экспорте. Затем я заметил, что в Properties >> Run/Debug Settings >> commonDenom >> Edit >> (x)= Arguments есть флажок «Использовать аргумент -XstartOnFirstThread при запуске с SWT». Но это уже проверили. Поэтому я решил, что этот параметр применяется только при запуске кода с помощью Eclipse и не применяется к экспортированному JAR.

Поэтому я добавил аргумент вручную в поле VM Arguments на той же вкладке. Когда я перешел к экспорту в виде исполняемого JAR, я заметил предупреждение, которое гласит: «Аргументы виртуальной машины не будут частью исполняемого JAR. Аргументы можно передавать в командной строке при запуске JAR.

В конечном счете, мне нужен способ запустить это из Finder (будь то JAR или что-то еще) без необходимости открывать Терминал и запускать его вручную. Да, я могу написать сценарий оболочки для его запуска, но я чувствую, что должен быть более простой способ.

09.03.2014

Ответы:


1

У вас есть два варианта. Самый простой способ — создать сценарий оболочки:

#!/bin/bash
java -XstartOnFirstThread -jar CommonDenom.jar

Пользователь запускает скрипт, который устанавливает аргументы и запускает Java.

Другой способ — создать Набор приложений. Он включает файл свойств (Info.plist), в котором вы можете установить эти свойства. Для создания комплект приложений.

10.03.2014
  • Если я создам сценарий оболочки, сделаю ли я это в Automator? Или я просто делаю это в текстовой панели? Если я хочу связать его как приложение, могу ли я использовать Automator для создания нового приложения? Это то же самое? И если да, то какие файлы/папки и/или действия включаются в рабочий процесс? Я предполагаю саму банку, классы, манифест и swt.jar? Затем, как только я его сохраню, как мне отредактировать файл plist, чтобы указать, что я хотел сделать в своем исходном сообщении? 11.03.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..