在maven本地存储库中安装的外部jar上未解析类导入

时间:2016-05-22 11:22:34

标签: java maven

我正在使用maven 3.2.5。我有一个外部罐子,我需要在我的maven项目中使用,这在maven存储库中不可用。

我使用以下命令安装了这些罐子:

1)mvn install:install-file -Dfile=p-unit-0.15.319.jar -DgroupId=org.punit -DartifactId=p-unit -Dversion=0.15.319 -Dpackaging=jar

2)在这个命令之后,我在我的M2存储库中看到了jar和amp; pom创建了 .m2目录\库\组织\ PUNIT \ PUNIT \ 0.15.319 \ PUNIT,0.15.319.jar 的.m2 \库\有机\ PUNIT \ PUNIT \ 0.15.319 \ PUNIT-0.15.319.pom

创建了pom内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.punit</groupId>
  <artifactId>p-unit</artifactId>
  <version>0.15.319</version>
  <description>POM was created from install:install-file</description>
</project>

3)更新了pom文件

<dependency>
  <groupId>org.punit</groupId>
  <artifactId>p-unit</artifactId>
  <version>0.15.319</version>   
  <scope>provided</scope>                                         
</dependency>

问题:当我尝试使用这个jar的类时,

 import org.punit.runner.*;
 getting error: import org.punit.runner can't be resolved.

我尝试了很多组合来定义依赖项但不能使用类。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

在标记依赖项下将相应的依赖项添加到项目的pom.xml文件中。

示例:

<dependencies>
    <dependency>
      <groupId>org.punit</groupId>
      <artifactId>p-unit</artifactId>
      <version>0.15.319</version>   
      <scope>test</scope>
    </dependency>
</dependencies>

注意 :假设问题中提到的组,工件ID和版本都是正确的。

答案 1 :(得分:0)

我错过了一件事,我在这里提到,这解决了这个问题。 我把依赖放在了错误的配置文件中,这在编译过程中没有被调用过。 当我输入正确的配置文件时,它有效。

  

第二个选项:

我们可以通过eclipse直接添加外部jar:

  

属性 - &gt; Java构建路径 - &gt;图书馆 - &gt;添加外部罐子。

     

并在文件系统上找到该库。

回答类似的查询: The import org.junit cannot be resolved