使用Maven和QT Jambi

时间:2011-11-30 10:48:31

标签: qt maven qt-jambi

我刚刚开始使用QT Jambi,我在使用Maven插件时遇到了一些问题。我收到以下错误消息:

[错误]无法执行目标net.sf.qtjambi:qtjambi-maven-plugin:4.6.3.1:生成(default-cli)项目DegooClientGUI:执行default-cli of goal 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 from / to 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 个答案:

答案 0 :(得分:2)

仅供参考,不是4.6.3.1的win64版本。

您的错误确实清楚地谈到了win32而不是win64但是值得尝试查看版本4.6.3是否有效,此版本具有win32和win64)。也许上面测试并确认使用Win7 32bit等的人。但是你已经明确表示你是Win7 64bit。

虽然如果你使用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这是在pom.xml的build / plugins / plugin / *部分内完成的。我没有示例,但是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/这是4.6.3.1 win64版本所在的目录。

http://repository.qt-jambi.org/nexus/content/repositories/releases-before-2011/net/sf/qtjambi/qtjambi-maven-plugin-win32/4.6.3.1/这是4.6.3.1 win32插件的实际位置。

[2013年2月编辑 - 将“http://qt-jambi.org/maven2/”替换为“http://repository.qt-jambi.org/nexus/content/repositories/releases-before-2011/”这是当前网址]