2010-01-07 25 views
4

當您與-X標誌運行Maven 2,你看,它配置了插件,你可能會看到這樣的輸出:Maven調試輸出:(f)是什麼意思?

[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)之間的區別?

回答

8

有趣的問題。我從來沒有注意到這個小細節,也找不到任何文檔。所以我greped的來源,這是我們可以在o.a.m.p.DebugConfigurationListener看到(從Maven的核心):

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)); 
    } 
} 

之間的差異(F)和(S)應該是自我解釋(嘆氣)現在。

相關問題