2017-02-10 89 views
0

我换一个pom.xml进入斑马线到3.3.0为什么zxing不能和ant/java8和pom.xml一起玩呢?

<dependency> 
     <groupId>com.google.zxing</groupId> 
     <artifactId>core</artifactId> 
     <version>3.3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.zxing</groupId> 
     <artifactId>javase</artifactId> 
     <version>3.3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.zxing</groupId> 
     <artifactId>zxing-parent</artifactId> 
     <version>3.3.0</version> 
     <type>pom</type> 
    </dependency> 

,现在我得到这样的:

[artifact:dependencies] Unable to resolve artifact: Unable to get dependency information: Unable to read the metadata file for artifact 'com.github.jai-imageio:jai-imageio-core:jar': Invalid JDK version in profile 'java8-and-higher': Unbounded range: [1.8, for project com.github.jai-imageio:jai-imageio-core 
[artifact:dependencies] com.github.jai-imageio:jai-imageio-core:jar:1.3.1 

从我能找到这表明什么是错用pom与zxing相关的所需版本的java文件(我正在使用java 8)?

代码使用Maven和Eclipse编译得很好,但是当尝试运行单独的ant进程时会发生此错误。

<artifact:dependencies filesetId="dependency.fileset"> 
    <artifact:pom file="${basedir}/pom.xml"/> 
</artifact:dependencies> 

蚂蚁任务工作得很好,如果我在pom中使用zxing 2.2但当然我的代码没有。 这是一个zwing 3.3.0的错误还是我错过了什么?

回答

1

问题的原因是pomjai-imageio:jai-imageio-core:jar:1.3.1

Maven有下列行

<profile> 
    <id>java8-and-higher</id> 
    <activation> 
    <jdk>[1.8,</jdk> 
    </activation> 
... 

对于一个丑陋的解决问题,你可以在你的本地库打开pom和激活值更改为

<profile> 
    <id>java8-and-higher</id> 
    <activation> 
    <jdk>[1.8,)</jdk> 
    </activation> 
... 

另一种办法是改变你的Maven版本。某些版本在解释错误语法时没有问题。这也应该是为什么你经历了用eclipse和ant构建不同结果的答案。

+0

所以你要说找到我在本地获得的com.google.zxing 3.3.0的pom文件并更改该文件。我想这意味着无法在我自己的pom文件中覆盖这个不好的设置。我有这个正确吗? – kasdega

+0

@ kasdega,没错。但是你必须改变jai-imageio的pom:jai-imageio-core:jar:1.3.1不是zxing。 –

+0

因为这只影响我只在本地做的事情,所以我砍掉了imageio的pom并且工作。感谢您的帮助。 – kasdega

相关问题