我正在使用Netbeans编写一个maven Web应用程序。
我刚刚开始使用Maven,所以我不太确定它是如何工作的。
当我尝试构建应用程序时,出现以下错误:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project BioMarkUI: Fatal error compiling: java.lang.RuntimeException: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for uk.ac.ebi.kraken.interfaces.prediction.Label not found -> [Help 1]
在POM.xml中,我添加了以下内容:
<dependency>
<groupId>uk.ac.ebi.uniprot.kraken</groupId>
<artifactId>uniprotjapi</artifactId>
<version>1</version>
</dependency>
<repository>
<id>ebi-repo</id>
<name>ebi-repo</name>
<url>http://www.ebi.ac.uk/~maven/m2repo</url>
</repository>
在Dependencies文件夹中,我添加了uniprotjapi jar。
当我查看类文件时,我确实找不到一个名为'uk.ac.ebi.kraken.interfaces.prediction.Label'的类。哪些信息表明它必须包含这个类?
是否会导致我编写版本ID为'1'的麻烦?(它没有版本,Netbeans不允许我将其留空)?
答案 0 :(得分:1)
最后一个版本是2014.01
,请尝试使用此版本。你不能只是弥补版本号,否则Maven将无法找到它。
并确保您的新存储库位于POM中的正确位置:
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
答案 1 :(得分:0)
错误的版本,查看http://www.ebi.ac.uk/~maven/m2repo/uk/ac/ebi/uniprot/kraken/uniprotjapi/2014.01/uniprotjapi-2014.01.pom您可以看到您应该使用版本2014.01而不是1(或者如果您不想要最新版本的其他内容)。