我将pom.xml条目更改为zxing到3.3.0
<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
根据我的发现,这表明与所需的Java版本(我正在使用Java 8)相关的zxing的pom文件有问题吗?
使用Maven和Eclipse可以很好地编译代码,但是在尝试运行单独的ant进程时会发生此错误。
<artifact:dependencies filesetId="dependency.fileset">
<artifact:pom file="${basedir}/pom.xml"/>
</artifact:dependencies>
如果我在pom中使用zxing 2.2,那么ant任务就可以正常工作,但是我的代码当然不能。
这是zwing 3.3.0中的错误,还是我缺少什么?
最佳答案
问题的原因是pom
的jai-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进行构建时会遇到不同结果的答案。