EclipseMaven依赖项jar灰显,can';不能从它导入类
我正在帮助一位朋友第一次用m2eclipse配置一个maven项目。我们都非常不熟悉它,并且遇到了一个问题,即即使依赖项jar在项目目录中的“maven dependencies”下显示其包,但如果我们尝试从该jar的包中导入任何内容,它也找不到该类 我注意到有问题的罐子是灰色的,不像其他正在工作的罐子那样不透明 奇怪的是,如果在导入中悬停类名,它会显示类的简要描述(来自jar中的文档!),但它不允许我导入它。所有其他maven依赖项都可以很好地导入。有什么想法吗?我们甚至找不到深色图标的含义 此外,pom.xml非常简单: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0EclipseMaven依赖项jar灰显,can';不能从它导入类,eclipse,maven,m2eclipse,Eclipse,Maven,M2eclipse,我正在帮助一位朋友第一次用m2eclipse配置一个maven项目。我们都非常不熟悉它,并且遇到了一个问题,即即使依赖项jar在项目目录中的“maven dependencies”下显示其包,但如果我们尝试从该jar的包中导入任何内容,它也找不到该类 我注意到有问题的罐子是灰色的,不像其他正在工作的罐子那样不透明 奇怪的是,如果在导入中悬停类名,它会显示类的简要描述(来自jar中的文档!),但它不允许我导入它。所有其他maven依赖项都可以很好地导入。有什么想法吗?我们甚至找不到深色图标的含义
<groupId>com.something.portal.test</groupId>
<artifactId>PortalFrontEndTests</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>PortalFrontEndTests</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Selenium -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
<!-- TestNG -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
com.something.portal.test
便携式前端测试
0.0.1-快照
罐子
便携式前端测试
http://maven.apache.org
UTF-8
朱尼特
朱尼特
3.8.1
测试
org.seleniumhq.selenium
硒爪哇
2.53.1
org.testng
testng
6.11
测试
我不确定我在这里遗漏了什么我发现了问题。这是因为我在源目录而不是测试目录中有类,并且两个maven依赖项都被标记为“仅对测试可见”“我不确定灰显部分是否正确。如果这是特性,因为它建议测试类应该在/test而不是/src下。 然而,你们的问题的解决方案是插件的范围,把它改为编译,你们就可以很好地去做了。 i、 e.将测试替换为编译:
测试
编译
就这样。导入测试包时不会出现任何错误 我在maven pom中使用
测试时遇到了相同的问题
新的Eclipse/Java版本似乎有一个新属性:
<classpathentry kind="src" output="target/test-classes" path="src/test/java/...">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
启用此选项后,我消除了所有编译器错误。打开pom.xml文件
检查灰显jar文件的名称
改变
测试
到
编译
在POM文件中检查您的依赖范围
编译、提供、系统和测试这些都是可用的测试
测试->编译会将依赖项从灰色更改为白色
如果您的依赖项是针对测试范围的,则该依赖项在应用程序中无法正常使用,而编译范围在项目的类路径中设置该依赖项。当然,更一般地说,范围需要与希望导入或访问依赖项的类等的位置相匹配。是的,这是有效的,我必须找到vim.classpath并搜索测试类,然后像上面提到的那样添加属性测试。有了这个集合,我可以在命令行上运行mvn测试,也可以在eclipse中运行测试。
<scope>test</scope>
<scope>compile</scope>