如何关闭Eclipse Photon中的“仅对测试源可见”功能?

时间:2018-07-04 20:54:34

标签: java eclipse maven eclipse-photon

最近发布的Eclipse Photon具有一项功能,它可以自动列出范围设置为test且属性“仅对测试源可见”设置为yes的库,并且无法将其关闭。

Showing Maven test dependencies

由于这个原因,我面临的问题是,我们的Eclipse项目目前都没有将测试源文件夹标记为test文件夹。作为公司环境,我无法继续前进,只能更新所有奇特的数百个项目。此外,我们的组织机构尚未正式支持Eclipse Photon。

所以,这意味着我最终在所有测试文件夹中都遇到了数千个编译错误,因为它们的依赖项现在仅适用于标记为“ test”的文件夹。

如何关闭此功能?

2 个答案:

答案 0 :(得分:1)

请参阅文章“ Eclipse Project Photon-新颖且值得关注”的Test sources section

  

...对于项目和库,有一个属性仅对   测试源。类路径容器也存在此设置,并且   如果其中一项设置为“是”,则该值将用于所有   包含库和项目。

您可以通过选择包含测试源,从 Java构建路径>源下的 {您的项目}>属性打开或关闭设置。 strong>,然后点击切换按钮:

enter image description here

因此您已经在正确的屏幕上可以解决此问题;只需单击来源标签,然后将包含测试源设置为

答案 1 :(得分:0)

我认为您实际上正在使用maven,并且作为m2e的“ Maven Dependencies”类路径容器的一部分,测试依赖项自动设置为“仅对测试源可见”。

如果您不选择更新.classpath文件(通过右键单击项目并选择“ Maven”>“更新项目”),则可以通过以下方式降级m2e插件:卸载并从http://download.eclipse.org/technology/m2e/releases/安装旧版本(我已验证1.8.3.20180227-2137可以工作)。

更新:在m2e 1.9.1中,您可以使用“检查更新”将其安装在Eclipse Photon中,并且包含在Eclipse 2018-09(Photon的后继产品)中,可以禁用通过将maven属性m2e.disableTestClasspathFlag设置为true来测试类路径分离。 通过在单个pom.xml文件中进行设置,可以在项目级别上进行操作,也可以通过将其作为用户settings.xml中的活动配置文件的属性添加到整个工作区中来进行操作。

如果您还没有用户setting.xml,请创建一个具有以下内容的用户,然后在Eclipse中的Preferences > Maven > Users Settings中将其选择为User Settings。然后右键单击项目,然后为所有项目选择“ Maven”>“更新项目”。

 <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <profiles>
            <profile>
                <id>default</id>
                <properties>
                    <m2e.disableTestClasspathFlag>true</m2e.disableTestClasspathFlag>
                </properties>
            </profile>
        </profiles>
        <activeProfiles>
            <activeProfile>default</activeProfile>
        </activeProfiles>
    </settings>