将Maven与QT-Jambi一起使用

将Maven与QT-Jambi一起使用,qt,maven,qt-jambi,Qt,Maven,Qt Jambi,我刚刚开始使用QT-Jambi,在让Maven插件工作时遇到了一些问题。我收到以下错误消息: [错误]无法执行goal net.sf.qtjambi:qtjambi maven插件:4.6.3.1:generate(默认cli)在DegooClientGUI项目上:执行target net.sf.qtjambi:qtjambi maven plugin:4.6.3.1的默认cli:生成失败:plugin net.sf.qtjambi:qtjambi maven plugin:4.6.3.1或无法

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

[错误]无法执行goal net.sf.qtjambi:qtjambi maven插件:4.6.3.1:generate(默认cli)在DegooClientGUI项目上:执行target net.sf.qtjambi:qtjambi maven plugin:4.6.3.1的默认cli:生成失败:plugin 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>

查姆比酒店
查姆比酒店
http://qtjambi.sourceforge.net/maven2/
忽视
忽视
查姆比酒店
查姆比酒店
http://qtjambi.sourceforge.net/maven2/
忽视
忽视
net.sf.qtjambi
查姆比酒店
4.6.3
src
测验
net.sf.qtjambi
qtjambi-maven插件
4.6.3.1
查姆比酒店
生成
src
真的


正如你所看到的,我试图忽略校验和错误,但那没有帮助。我还尝试指定存储库中可用的其他版本。那也没用。有什么想法吗?提前谢谢

FYI不是4.6.3.1的win64版本

您的错误显然指的是win32而不是win64,但值得一试,看看版本4.6.3是否可以工作(此版本有win32和win64)。可能上面测试并确认的人使用的是Win7 32位或其他什么。但您已经明确表示您是Win7 64位

虽然如果您使用32位JRE来运行Maven,那么系统会认为它是32位系统。也许这就是您正在做的,并解释了为什么您的64位Win7试图解析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/*节中完成的。我手头没有示例,但EclipseM2e pom.xml编辑器允许快速轻松地排除。手动排除后,为qtjambi-maven-plugin-win32添加额外的依赖项。据我所知,平台相关部分提供了一个可以运行的EXE,并且由于所有的Win64都支持执行Win32二进制文件,因此使用Win32应该是可以的

供参考

这是应该安装4.6.3.1 win64版本的目录

这就是4.6.3.1 win32插件的实际位置


[2013年2月编辑-将“”替换为“”这是当前的URL]

哪个版本的maven?上面的代码片段在windows 7上的my maven-3.0.3上成功下载并运行插件。事实上,删除
checksumPolicy
会导致
警告
,但会继续。Maven 3.0.3和Win 7(64位)。这并不是说这会解决您的问题,而是SF maven2回购将被淘汰,并将被我们安装的nexus回购所取代。SF中的所有工件应在本回购协议“2011年之前发布”中。在“发布”中还没有任何内容,但在接下来的几周内会有,因为我正处于为所有平台制作4.7.4beta4的最后阶段。我对现有的Maven插件帮助应用程序开发没有太多经验。我在评估它时记得的一点是,它可能需要系统上的二进制EXE来执行特定任务。在2012年的某个时候,我在自己的本地目录树中有许多QtJambi插件,我将发布这些插件,但最初的主要目标是可以直接从nexus repo使用的maven兼容版本。