Является ли Java JAR манифестом принимать несколько банок в качестве параметра Wildcard [duplicate]

Ну, простыми словами:

Вы пытаетесь получить доступ к объекту, который не создан или в настоящее время не находится в памяти.

Итак, как это решить:

  1. Отладить и отпустить отладчик ... Он сразу приведет вас к переменной, которая сломана ... Теперь ваша задача - просто исправить это. Используя новое ключевое слово в соответствующем месте.
  2. Если это вызвано некоторыми командами базы данных, потому что объект отсутствует, все, что вам нужно сделать, это выполнить нулевую проверку и обработать его:
    if (i == null) {
        // Handle this
    }
    
  3. Самый сложный. если GC уже собрал объект ... Это обычно происходит, если вы пытаетесь найти объект, используя строки ... То есть, найдя его по имени объекта, может случиться, что GC, возможно, уже очистил его ... Это трудно найти и станет проблемой. Лучшим способом решения этой проблемы является выполнение нулевых проверок везде, где это необходимо в процессе разработки. Это сэкономит вам много времени.

Поиск по имени означает, что некоторые фреймворки позволяют использовать FIndObjects с помощью строк, а код может выглядеть так: FindObject («ObjectName»);

7
задан Suraj 21 January 2011 в 10:16
поделиться

2 ответа

Вы не можете использовать регулярные выражения или другие подстановочные знаки в атрибуте Class-Path вашего манифеста.

В Java поддерживается только один поддерживаемый шаблон, и он работает только в том случае, если он указан в командной строке «ручной» java вызов (т. е. не используя -jar): с помощью directoryname/* .

11
ответ дан Community 27 August 2018 в 04:32
поделиться

Я не слишком уверен в том, что вы хотите точно, но вы можете добавить банки во время выполнения:

  • list (jar) файлы, используя File.list () в каталоге, содержащем jars
  • делать регулярное выражение по именам файлов, которые вы извлекаете
  • , использовать URLClassLoader для загрузки jar

Я точно не знаю, как зарегистрироваться (если необходимо) URLClassLoaders для основного загрузчика классов. Но я так и думал.

2
ответ дан extraneon 27 August 2018 в 04:32
поделиться
Другие вопросы по тегам:

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