为什么m2e插件为eclipse插入src的可选属性以及它做了什么

Rol*_*epp 6 java eclipse maven eclipse-jdt m2e

运行Maven -> Update Project...带有Update project configuration from pom.xml选项选项的工具后,我开始在我的.classpath文件中注意到这些属性:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
         </attributes>
    </classpathentry>
    ...
</classpathentry>
Run Code Online (Sandbox Code Playgroud)

让我最引人注目的属性是:<attribute name="optional" value="true"/>.

它有什么作用?它看起来很可疑,因为我在项目中找不到关于我的java源文件的可选项.

And*_*erg 2

添加此文件夹是因为该src文件夹是 maven 的可选文件夹。src如果缺失,项目不应抱怨。(实际上默认情况下,这应该是src/main/javasrc/test/java)。这意味着添加或删除src源文件不需要更新您的 Maven 配置。

在您的情况下,这个属性不需要存在,但它清楚地表明,只要所有内容都可以编译,maven 并不关心源文件夹是否存在(因此 Eclipse 也不应该关心)。