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

时间:2013-02-11 10:58:51

标签: java eclipse maven m2e eclipse-jdt

运行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>

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

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

1 个答案:

答案 0 :(得分:2)

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

在你的情况下,这个属性并不需要存在,但是很明显maven并不关心源文件夹是否存在,只要一切都可以编译(因此Eclipse也不应该关心)。 / p>