2011-12-20 64 views
2

我正在使用maven和maven-javadoc插件與umlgraph-doclet來爲我的項目創建javadoc。該部分從我的POM:Graphviz給出了很多字體錯誤

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-site-plugin</artifactId> 
     <inherited>false</inherited> 
     <configuration> 
     <reportPlugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <show>public</show> 
       <quiet>true</quiet> 

       <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> 
       <docletArtifact> 
       <groupId>org.umlgraph</groupId> 
       <artifactId>doclet</artifactId> 
       <version>5.1</version> 
       </docletArtifact> 

       <useStandardDocletOptions>true</useStandardDocletOptions> 
       <additionalparam> 
       -inferrel -inferdep -quiet -hide java.* -hide org.eclipse.* -collpackages java.util.* -postfixpackage 
       -nodefontsize 9 -nodefontpackagesize 7 -attributes -types -visibility -operations -constructors 
       -enumerations -enumconstants -views 
       </additionalparam> 
      </configuration> 
      <reportSets> 
       <reportSet> 
       <reports> 
        <report>aggregate</report> 
       </reports> 
       </reportSet> 
      </reportSets> 
      </plugin> 
     </reportPlugins> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

這些是我使用由umlgraph的doclet生成的.dot文件運行mvn site或可替代dot -Tpng class.dot -o class.cli.png時,你得到的錯誤:在該列表中

[0] Times-Roman => "Times, REGULAR" 
[1] Times-Italic => "Times, REGULAR ITALIC" 
[2] Times-Bold => "Times, BOLD" 
[3] Times-BoldItalic => "Times, BOLD ITALIC" 
[4] AvantGarde-Book => "URW Gothic L, BOOK" 
[5] AvantGarde-BookOblique => "URW Gothic L, BOOK" 
[6] AvantGarde-Demi => "URW Gothic L, DEMI" 
[7] AvantGarde-DemiOblique => "URW Gothic L, DEMI" 
[8] Bookman-Light => "URW Bookman L, LIGHT" 
[9] Bookman-LightItalic => "URW Bookman L, LIGHT ITALIC" 
[10] Bookman-Demi => "URW Bookman L, " 
[11] Bookman-DemiItalic => "URW Bookman L, ITALIC" 
[12] Courier => "Courier, REGULAR" 
[13] Courier-Oblique => "Courier, REGULAR OBLIQUE" 
[14] Courier-Bold => "Courier, BOLD" 
[15] Courier-BoldOblique => "Courier, BOLD OBLIQUE" 
[16] Helvetica => "Helvetica, REGULAR" 
[17] Helvetica-Oblique => "Helvetica, REGULAR OBLIQUE" 
[18] Helvetica-Bold => "Helvetica, BOLD" 
[19] Helvetica-BoldOblique => "Helvetica, BOLD OBLIQUE" 
[20] Helvetica-Narrow => "Helvetica, REGULAR" 
[21] Helvetica-Narrow-Oblique => "Helvetica, REGULAR OBLIQUE" 
[22] Helvetica-Narrow-Bold => "Helvetica, BOLD" 
[23] Helvetica-Narrow-BoldOblique => "Helvetica, BOLD OBLIQUE" 
[24] NewCenturySchlbk-Roman => "Century Schoolbook L, ROMAN" 
[25] NewCenturySchlbk-Italic => "Century Schoolbook L, REGULAR ITALIC" 
[26] NewCenturySchlbk-Bold => "Century Schoolbook L, BOLD" 
[27] NewCenturySchlbk-BoldItalic => "Century Schoolbook L, BOLD ITALIC" 
[28] Palatino-Roman => "URW Palladio L, ROMAN" 
[29] Palatino-Italic => "URW Palladio L, REGULAR ITALIC" 
[30] Palatino-Bold => "URW Palladio L, BOLD" 
[31] Palatino-BoldItalic => "URW Palladio L, BOLD ITALIC" 
[32] Symbol => "Impact, " 
[33] ZapfChancery-MediumItalic => "URW Chancery L, ITALIC" 
[34] ZapfDingbats => "Dingbats, REGULAR" 

並非所有的字體在.dot文件中使用,只有Helvetica在那裏使用。我正在使用Linux。我可以爲您提供用於測試的.dot文件。 我的另一個觀察:在終端中運行時,不是每次運行都會顯示這些錯誤。每三場比賽平均水平沒有他們。輸出時運行與-v

dot - graphviz version 2.28.0 (20111204.1018) 
libdir = "/usr/lib/graphviz" 
Activated plugin library: libgvplugin_pango.so.6 
Using textlayout: textlayout:cairo 
Using render: cairo:cairo 
Using device: png:cairo:cairo 
Activated plugin library: libgvplugin_dot_layout.so.6 
Using layout: dot:dot_layout 
The plugin configuration file: 
     /usr/lib/graphviz/config6 
      was successfully loaded. 
    render  : cairo dot fig gd map ps svg tk vml vrml xdot 
    layout  : circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi 
    textlayout : textlayout 
    device  : bmp canon cmap cmapx cmapx_np dot eps fig gd gd2 gif gv ico imap imap_np ismap jpe jpeg jpg pdf plain plain-ext png ps ps2 svg svgz tif tiff tk vml vmlz vrml wbmp x11 xdot xlib 
    loadimage : (lib) eps gd gd2 gif jpe jpeg jpg png ps svg 
fontname: "Helvetica" resolved to: (ps:pango Helvetica, REGULAR) (PangoCairoFcFont) "Arial, Regular" /usr/share/fonts/TTF/Arialtbg.ttf 
network simplex: 3 nodes 2 edges maxiter=2147483647 balance=1 
network simplex: 3 nodes 2 edges 0 iter 0.00 sec 
network simplex: 1 nodes 0 edges maxiter=2147483647 balance=1 
network simplex: 1 nodes 0 edges 0 iter 0.00 sec 
mincross: pass 0 iter 0 trying 0 cur_cross 0 best_cross 0 
mincross: pass 0 iter 0 trying 0 cur_cross 0 best_cross 0 
mincross G: 0 crossings, 0.00 secs. 
network simplex: 6 nodes 6 edges maxiter=2147483647 balance=2 
network simplex: 6 nodes 6 edges 1 iter 0.00 sec 
routesplines: 2 edges, 6 boxes 0.00 sec 
Using render: cairo:cairo 
Using device: png:cairo:cairo 
dot: allocating a 1162K cairo image surface (781 x 381 pixels) 

任何人都知道如何解決或抑制它們?它討厭每一代網站都要克服這些錯誤的2k行。

回答

1

不幸的是,因爲點的命令行選項在UmlGraphDoc.java硬編碼的,有改變點的命令行選項[可以創建與需要的參數實際點之前進來的路徑shell腳本命名點]

代碼沒有直接的方法片段UmlGraphDoc.java

p = Runtime.getRuntime().exec(
    new String[] { "dot", "-Tcmapx", "-o", 
    mapFile.getAbsolutePath(), "-Tpng", "-o", 
    pngFile.getAbsolutePath(), 
    dotFile.getAbsolutePath() }); 

<quiet>true</quiet>選項maven-javadoc-plugin不抑制警告和錯誤

AFAIK唯一的辦法左邊是要麼

在安靜模式下運行Maven

mvn -q 

還是要grep行家命令的輸出,以抑制含=>

mvn site | grep -v ' => "' 
1

您看到的消息是調試腳手架的一部分。它們不是錯誤,而是關於字體映射的信息。這僅在Graphviz在-v值爲2或更大的情況下運行時纔會打印。相關的內部代碼是

if (Verbose > 1) 
    printFontMap (gv_fmap, ps_fontnames_sz); 

這應該是完全確定性的。我需要更多關於Graphviz如何被maven用來建議更多細節的信息。

+0

線是否存在已知的方法來減少具有cli選項的詳細級別? – Corubba 2011-12-27 12:52:51