Как вручную отключить/поместить в черный список репозиторий Знатока

Вы могли инкапсулировать каждый процесс в объекте C++ и сохранить список их в глобальной области видимости. Деструкторы могут закрыть каждый процесс. Это будет хорошо работать, если программа будет обычно выходить, но это, который это разрушает, все ставки, выключено.

Вот грубый пример:

class myprocess
{
public:
    myprocess(HANDLE hProcess)
        : _hProcess(hProcess)
    { }

    ~myprocess()
    {
        TerminateProcess(_hProcess, 0);
    }

private:
    HANDLE _hProcess;
};

std::list<myprocess> allprocesses;

Тогда каждый раз, когда Вы запускаетесь один, назовите allprocessess.push_back (hProcess);

21
задан cetnar 18 November 2009 в 08:39
поделиться

2 ответа

Есть ли способ переместить этот репозиторий в черный список или переопределить эти настройки?

Насколько мне известно, это невозможно.

Почему он выполняет поиск в репозитории Jasper, возможно, потому что of range

Да, я думаю, что диапазоны "ответственны" за такое поведение. Без диапазонов Maven не пришлось бы проверять удаленные репозитории на наличие более новой версии, чем та, которая доступна в вашем локальном репозитории.

Моя идея решить эту проблему - изменить jasper pom и использовать репозиторий прокси, но я ищу другой вариант .

Исправление jasper pom и использование прокси-репозитория, конечно, было бы идеальным решением, но это не всегда возможно. Однако, возможно, есть обходной путь. Вы пытались исключить транзитивные зависимости jasperreports, которые имеют диапазоны, и вместо этого предоставить их самостоятельно (с фиксированной версией) в своем pom. Примерно так:

<dependencies>
  <dependency>
    <groupId>jasperreports</groupId>
    <artifactId>jasperreports</artifactId>
    <version>1.3.3</version>
    <!-- Remove Transitive dependencies drawn by Jasper Report that we don't want -->
    <exclusions>
      <exclusion>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
      </exclusion>
      ...
    </exclusions>
  </dependency>
  <dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>2.1</version><!-- Or whatever version, as long as it's fixed -->
    <scope>compile</scope>
  </dependency>
  ....
<dependencies>

Таким образом, Maven не должен проверять несуществующий репозиторий, и это должно избежать ожидания тайм-аута. Я бы попробовал.

Я использую версию jasperreports 1.3.3 и не хочу ее менять.

Нет проблем.

8
ответ дан 29 November 2019 в 20:55
поделиться

Вы можете переопределить репо, используя объявление mirrorOf в вашем settings.xml. Хотя это не то, для чего оно обычно предназначено, установка, например, mirrorOf на repoid jasper reports и указание его на Central (repo1.maven.org) эффективно заставит его исчезнуть.

Лучшим вариантом будет использование менеджера репозиториев, например Nexus, и тогда вы сможете контролировать, какие прокси и артефакты на самом деле обслуживаются.

12
ответ дан 29 November 2019 в 20:55
поделиться
Другие вопросы по тегам:

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