Что & ldquo; Не удалось найти или загрузить основной класс & rdquo; имею в виду?

Threads on linux в настоящее время пытается оставаться posix complient. Только вызывающий поток реплицируется, а не другие потоки (обратите внимание, что, например, на солярии вы можете выбрать, что делает вилка, в зависимости от того, к какой библиотеке вы подключаетесь)

Из http://www.opengroup.org /onlinepubs/000095399/functions/fork.html:

Процесс должен быть создан одним потоком. Если многопоточный процесс вызывает fork (), новый процесс должен содержать реплика вызывающего потока и всего его адресного пространства, возможно, включая состояния мьютексов и других ресурсов. Следовательно, чтобы избежать ошибок, дочерний процесс может выполнять только операции с асинхронным сигналом до тех пор, пока не будет вызвана одна из функций exec. Обработчики вил могут быть установлены с помощью функции pthread_atfork (), чтобы поддерживать инварианты приложения для вызовов fork ().

blockquote>

1199
задан Stephen C 7 January 2018 в 06:58
поделиться

1 ответ

Вот другая проблема, которая взяла меня немного времени: параметрический усилитель пути к классу командной строки не ведет себя, как Вы ожидали бы. Я нахожусь на MacOS, называя CLI непосредственно, и я включаю две банки в вызов.

, Например, оба из них путали инструмент о названии основного класса:

Этот, потому что звездочка заставляла это анализировать args неправильно:

java -cp path/to/jars/* com.mypackage.Main

И этот, потому что - я не уверен почему:

java -cp "*.jar" com.mypackage.Main

Это работало:

java -cp "path/to/jars/*" com.mypackage.Main

Список этих двух банок явно также работал:

java -cp path/to/jars/jar1.jar:path/to/jars/jar2.jar com.mypackage.Main

0
ответ дан 19 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: