Использование Maven с QT Jambi - PullRequest
       27

Использование Maven с QT Jambi

1 голос
/ 30 ноября 2011

Я только начинаю работать с QT Jambi, и у меня возникают некоторые проблемы с работой плагина Maven.Я получаю следующее сообщение об ошибке:

[ОШИБКА] Не удалось выполнить цель net.sf.qtjambi: qtjambi-maven-plugin: 4.6.3.1: создать (default-cli) в проекте DegooClientGUI: Выполнить default-cliцели net.sf.qtjambi: qtjambi-maven-plugin: 4.6.3.1: сгенерировать не удалось: плагин net.sf.qtjambi: qtjambi-maven-plugin: 4.6.3.1 или не удалось разрешить одну из его зависимостей: не удалось собратьзависимости для net.sf.qtjambi: qtjambi-maven-plugin: jar: 4.6.3.1 (): не удалось прочитать дескриптор артефакта для net.sf.qtjambi: qtjambi-maven-plugin-win32: jar: 4.6.3.1: не удалосьпередать артефакт net.sf.qtjambi: qtjambi-maven-plugin-win32: pom: 4.6.3.1 из / в qtjambi (http://qtjambi.sourceforge.net/maven2/): Проверка контрольной суммы не удалась, контрольные суммы недоступны из репозитория -> [Помощь 1]

Мой pom выглядит так:

  <repositories>
    <repository>
        <id>qtjambi</id>
        <name>qtjambi</name>
        <url>http://qtjambi.sourceforge.net/maven2/</url>
        <releases>
            <checksumPolicy>ignore</checksumPolicy>
        </releases>
        <snapshots>
            <checksumPolicy>ignore</checksumPolicy>
        </snapshots>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>qtjambi</id>
        <name>qtjambi</name>
        <url>http://qtjambi.sourceforge.net/maven2/</url>
        <releases>
            <checksumPolicy>ignore</checksumPolicy>
        </releases>
        <snapshots>
            <checksumPolicy>ignore</checksumPolicy>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

<dependencies>
    <dependency>
        <groupId>net.sf.qtjambi</groupId>
        <artifactId>qtjambi</artifactId>
        <version>4.6.3</version>
    </dependency>
</dependencies>

<build>
    <sourceDirectory>src</sourceDirectory>
    <testSourceDirectory>tests</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>net.sf.qtjambi</groupId>
            <artifactId>qtjambi-maven-plugin</artifactId>
            <version>4.6.3.1</version>
            <executions>
                <execution>
                    <id>qtjambi</id>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- Specifies where sources are. This parameter is MANDATORY -->
                <sourcesDir>src</sourcesDir>
                <!-- following parameters aren't mandatory, they use defaults as specified here
        if not specified
        <translationsDir>src/main/resources/translations</translationsDir>
        <destinationDir>target/generated-sources/qtjambi</destinationDir>
        -->
                <!-- cause -noobsolete switch for lupdate -->
                <noObsoleteTranslations>true</noObsoleteTranslations>
            </configuration>
        </plugin>
    </plugins>
</build>

Как вы можете видеть, я пытался игнорировать ошибки контрольной суммы, но это не помогает. Я также пытался указать другие версии, которые доступны в хранилище. Это тоже не помогло. Есть идеи? Спасибозаранее!

1 Ответ

2 голосов
/ 30 ноября 2011

К вашему сведению, версия 4.6.3.1 для win64 отсутствует.

В вашей ошибке явно говорится о win32, а не о win64, но стоит попробовать проверить, работает ли версия 4.6.3, в этой версии есть win32 и win64).Возможно человек, проверяющий выше и подтверждающий, использовал Win7 32bit или что-то.Но вы четко заявили, что вы Win7 64-битный.

Хотя, если вы используете 32-битную JRE для запуска Maven, система будет думать, что это 32-битная система.Может быть, это то, что вы делаете, и объясняет, почему ваш Win7 64bit пытается разрешить qtjambi-maven-plugin-win32.

pom.xml плагина автоматически выбирает qtjambi-maven-plugin-win32 илиqtjambi-maven-plugin-win64, основанный на платформе во время выполнения.

2 варианта решения для исправления (выберите один)

1) Использовать версию 4.6.3

2) Добавьте в раздел проекта POM, чтобы исключить groupId = net.sf.qtjambi artifactId = qtjambi-maven-plugin-win64. Это делается в разделе build / plugins / plugin / * файла pom.xml.У меня нет примера, но редактор Eclipse m2e pom.xml позволяет быстро и легко исключить его.После того, как вы исключили вручную, добавьте дополнительную зависимость для qtjambi-maven-plugin-win32.Насколько я понимаю, зависимая от платформы часть предоставляет EXE-файл, который можно запустить, и, поскольку все Win64 поддерживают выполнение двоичных файлов Win32, использование Win32 должно быть в порядке.

FYI

http://repository.qt-jambi.org/nexus/content/repositories/releases-before-2011/net/sf/qtjambi/qtjambi-maven-plugin-win64/ это каталог, в котором должна быть версия win64 4.6.3.1.

http://repository.qt -jambi.org / nexus / content / repositories / release-before-2011 / net / sf / qtjambi / qtjambi-maven-plugin-win32 / 4.6.3.1 / этогде плагин 4.6.3.1 win32 на самом деле является.

[Отредактировано февраль 2013 г. - заменить "http://qt -jambi.org / maven2 / " на "http://repository.qt -jambi.org/nexus/content/repositories/releases-before-2011/ "это текущий URL]

...