2011-11-30 196 views
1

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

[错误]未能执行目标net.sf.qtjambi:qtjambi-maven-plugin:4.6.3.1:项目DegooClientGUI上的生成(default-cli):执行目标的默认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> 

正如你可以看到我已经试图忽略校验和错误,但这样做没有帮助。我也试过指定其他版本,这些版本可以在存储库中找到。这也没有帮助。有任何想法吗?提前致谢!

+0

行家哪个版本的?上面的代码片段成功下载并在Windows 7上的maven-3.0.3上运行插件。事实上,除去'checksumPolicy'会导致'WARNING',但会继续。 – Raghuram

+0

Maven 3.0.3和Win 7(64位)。 – Yrlec

+0

这并不是说这会解决您的问题,但SF maven2回购将被废弃并取代我们已安装的nexus回购。所有来自SF的文物都应在本次回购“2011年之前发布”中。目前“发布”中还没有任何内容,但在接下来的几周内将会出现,因为我正处于为所有平台生产4.7.4beta4的最后阶段。 http://repository.qt-jambi.org/nexus/index.html#view-repositories和 http://repository.qt-jambi.org/nexus/content/repositories/releases-before-2011/ –

回答

2

仅供参考,没有win64版本的4.6.3.1。

你的错误清楚地说明了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的附加依赖项。这是我的理解平台depellent部分提供了可以运行的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/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/” 这是当前URL]