You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在STS 3.9.2的Package Explorer中显示Maven排除的目录?

如何在STS中显示Maven编译插件排除的目录

当然可以显示这些目录!问题出在STS的Maven集成(也就是m2e插件)会自动识别maven-compiler-plugin里的<excludes>配置,把对应的目录标记为**派生资源(Derived Resource)**甚至直接从Java源路径中移除,这就是为什么你禁用视图过滤器也看不到它的原因。下面给你几个可行的解决方案:

1. 手动取消目录的「派生」标记(快速临时方案)

这个方法能立刻让目录显示,但执行Maven -> Update Project后会被重置:

  • 先切换到STS的「Navigator」视图(因为Package Explorer可能默认隐藏派生资源)
  • 找到你要显示的somedir目录,右键点击它 → Properties → Resource
  • 取消勾选「Derived」选项,点击「Apply and Close」
  • 切回「Package Explorer」,你就能看到这个目录了

2. 通过pom.xml配置永久保留目录(推荐)

在pom.xml中添加maven-eclipse-plugin的配置,明确告诉m2e要保留这个目录在源路径中,同时维持编译排除的规则:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <!-- 保留src/main/java作为源目录 -->
        <sources>
            <source>src/main/java</source>
        </sources>
        <!-- 只编译Java文件,但排除somedir下的所有Java文件 -->
        <sourceIncludes>
            <sourceInclude>**/*.java</sourceInclude>
        </sourceIncludes>
        <sourceExcludes>
            <sourceExclude>**/somedir/**/*.java</sourceExclude>
        </sourceExcludes>
    </configuration>
</plugin>

配置完成后,执行mvn eclipse:eclipse命令,再回到STS中右键项目 → Refresh,这样somedir就会一直显示在Package Explorer里,同时不会被Maven编译,而且执行Maven -> Update Project也不会丢失设置。

3. 手动调整Java Build Path(临时方案)

如果不想修改pom.xml,也可以直接在STS中调整项目的构建路径:

  • 右键项目 → Properties → Java Build Path → 切换到「Source」标签
  • 点击「Add Folder...」,找到somedir目录并勾选添加
  • 选中刚添加的目录,点击右侧的「Edit...」,在弹出的窗口中设置「Exclusion patterns」为**(确保该目录下的文件不会被编译)
  • 点击「Apply and Close」,目录就会在Package Explorer中显示了

这个方法同样会在Maven -> Update Project后被重置,适合临时查看目录的场景。

内容的提问来源于stack exchange,提问作者user3897528

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:08:07