Ошибка Docker: невозможно найти пакет git

protected void finalize() throws Throwable {}
  • каждый класс наследует метод finalize() из java.lang.Object
  • , метод вызывается сборщиком мусора, когда он не определяет больше ссылок на объект exist
  • Метод finalize объекта не выполняет никаких действий, но может быть переопределен любым классом
  • , как правило, он должен быть переопределен для очистки ресурсов, отличных от Java, т.е. закрытие файла
  • , если переопределить finalize(), хорошая практика программирования - использовать инструкцию try-catch-finally и всегда вызывать super.finalize(). Это мера безопасности, обеспечивающая непреднамеренное пропущение закрытия ресурса, используемого объектами, вызывающими класс
    protected void finalize() throws Throwable {
         try {
             close();        // close open files
         } finally {
             super.finalize();
         }
     }
    
  • . Любое исключение, созданное finalize() во время сбора мусора, останавливает завершение, но в противном случае игнорируется
  • finalize() никогда не запускается более одного раза на любом объекте

, указанном по адресу: http://www.janeg.ca/scjp/ gc / finalize.html

Вы также можете проверить эту статью:

29
задан Nyxynyx 28 April 2015 в 20:53
поделиться

1 ответ

Это происходит из-за того, что хранилище apt еще не обновлено, поэтому обычная практика - чистить ваши хранилища apt и файлы tmp после создания образа, что, вероятно, и делает ваш базовый образ.

Чтобы это исправить, вы захотите запустить apt-get update перед установкой git, рекомендуется объединить команду update и install одновременно, чтобы уничтожить кеш при обновлении, если строка установки изменится:

RUN apt-get update && apt-get install -y git

Использование -y удобно для автоматического ответа «да» на все вопросы.

83
ответ дан Klausos Klausos 28 April 2015 в 20:53
поделиться
Другие вопросы по тегам:

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