загрузка артефакта guice3.0 из центрального хранилища maven - PullRequest
0 голосов
/ 01 июня 2011

Я пытаюсь обновить мое веб-приложение struts2 с guice2.0 до guice3.0. Я пытаюсь проверить это с помощью Maven Jetty. Я успешно обновил свой pom.xml, чтобы использовать правильную версию и groupId для версии 3.0, но если я вызываю mvn jetty: run Я вижу, что он пытается загрузить Guice-3,0-no_deps.jar

которая выдает ошибку сборки и не может быть найдена в центральном хранилище?

Я не получаю эту ошибку, если я не включаю расширения guice.

Есть идеи?

Спасибо

1 Ответ

1 голос
/ 03 июня 2011

Я также опубликовал этот вопрос в группе пользователей. Это ответ, который я получил.

guice-3.0-no_deps.jar - это артефакт времени сборки, который используется для компиляции расширений, но не требуется во время выполнения - он не в maven central, потому что команда Guice не хотела, чтобы люди зависели от этого «uber». -жар "по ошибке. Расширения имеют необязательную зависимость от guice-3.0-no_deps.jar (чтобы их можно было компилировать), но они также имеют необязательную зависимость от guice-3.0.jar для случая времени выполнения.

Надлежащим образом подключаемые модули maven должны видеть, что зависимость no_deps является необязательной, и не генерировать ошибку сборки, если она отсутствует, так что это похоже на ошибку в плагине Jetty. Чтобы обойти ошибку Jetty, вы можете явно скрыть эту зависимость следующим образом:

    <dependency>
        <groupId>com.google.inject.extensions</groupId>
        <artifactId>guice-struts2</artifactId>
        <version>3.0</version>
        <exclusions>
            <exclusion>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>3.0</version>
    </dependency>

Обратите внимание, что мы не можем сделать это в исходной сборке, потому что нам все еще нужна зависимость no_deps при выполнении исходной компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...