Maven 2 Maven调试输出:(f)是什么意思?

Maven 2 Maven调试输出:(f)是什么意思?,maven-2,Maven 2,当您使用-X标志运行Maven 2,并观察它配置插件时,您可能会看到如下输出: [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-clean-plugin:2.3:clean' --> [DEBUG] (f) directory = e:\projects\foobar\target [DEBUG] (f) excludeDefaultDirectories = false [DEBUG] (f) failOnEr

当您使用-X标志运行Maven 2,并观察它配置插件时,您可能会看到如下输出:

[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-clean-plugin:2.3:clean' -->
[DEBUG]   (f) directory = e:\projects\foobar\target
[DEBUG]   (f) excludeDefaultDirectories = false
[DEBUG]   (f) failOnError = true
[DEBUG]   (s) directory = .
[DEBUG]   (s) includes = [**/*~]
[DEBUG]   (f) filesets = [file set: . (included: [**/*~], excluded: [])]
[DEBUG]   (f) followSymLinks = false
[DEBUG]   (f) outputDirectory = e:\projects\foobar\target\classes
[DEBUG]   (f) project = MavenProject: foobar:foobar:1.0-SNAPSHOT @ e:\projects\foobar\pom.xml
[DEBUG]   (f) reportDirectory = e:\projects\foobar\target\site
[DEBUG]   (f) skip = false
[DEBUG]   (f) testOutputDirectory = e:\projects\foobar\target\test-classes
[DEBUG] -- end configuration --

(f)和(s)之间的区别是什么?有趣的问题。我从来没有注意过这个小细节,也找不到任何关于它的文档。因此,我对源代码进行了greed,这是我们可以在(maven core)中看到的:

(f)和(s)之间的区别现在应该是自我解释(叹气)

public void notifyFieldChangeUsingSetter( String fieldName, Object value, Object target )
{
    if ( logger.isDebugEnabled() )
    {
        logger.debug( "  (s) " + fieldName + " = " + toString( value ) );
    }
}

public void notifyFieldChangeUsingReflection( String fieldName, Object value, Object target )
{
    if ( logger.isDebugEnabled() )
    {
        logger.debug( "  (f) " + fieldName + " = " + toString( value ) );
    }
}