2

我想忽略由特定文件引發的來自ant的警告。特定類文件的Ant編譯器警告

這不是強制性的,爲什麼有警告我只想找到一種方式,忽略警告形成一個特定的類文件。

有沒有辦法做到這一點?

回答

2

我認爲你的意思是「在運行Ant腳本時抑制來自javac的編譯警告」?

您不提供警告的示例,但通常您可以查看@SuppressWarnings註釋。可悲的是,只有"unchecked"需要BYT的JLS,而其他所有依賴於實現 - 你可以嘗試

localhost:~$ javac -X 
    -Xlint:{all,cast,deprecation,divzero,empty,unchecked,fallthrough,path, 
      serial,finally,overrides,-cast,-deprecation,-divzero,-empty,-unchecked, 
      -fallthrough,-path,-serial,-finally,-overrides,none} 

看到支持您所選擇的JDK的人。

編輯:以這種方式禁止「內部專有API」類型的警告是不可能的。 this Bug ID。但是,對於javac(參見例如bug 6544224),(無文檔的)-XDignore.symbol.file命令行選項應該是可能的。

真正解決方法當然是不使用這些API ...

乾杯,

+0

它似乎是正確的方式,但我怎麼能做到這一點。我可以添加這個:@SuppressWarnings(「所有」)在我的類的頂部之後,進口壓制所有警告?你知道螞蟻的選擇嗎?需要我將-Xlint設置爲特定值? – bladepit

+0

'螞蟻'不關心這些,'javac'呢。告訴我們你得到的警告,然後我們將能夠更好地幫助你。 –

+0

這是警告:[javac] /Users/Jochen/Documents/workspace/MuDiSAR/de/mudisar/dataloader/gui/CustomJFileChooser.java:28:警告:FilePane是內部專有API,可能會在將來的版本中刪除 [javac] import sun.swing.FilePane; – bladepit

0

的javac Ant任務具有nowarn屬性在編譯時關掉所有的警告。但是爲了禁止來自某個特定類的警告,你只能修改你的java文件。

這裏有雲 http://ant.apache.org/manual/Tasks/javac.html

+0

我不'看到我必須做的。我需要什麼我的課堂文件和我的螞蟻生成文件。我知道這個頁面,但我無法處理它,所以我的警告從一個特定的類將壓制 – bladepit

3
<target name="compile"> 
    <mkdir dir="${classes.dir}" /> 
    <javac 
     classpathref="project.classpath" 
     bootclasspath="${javac.bootclasspath}" 
     compiler="${javac.compiler}" 
     debug="${javac.debug}" 
     deprecation="${javac.deprecation}" 
     destdir="${classes.dir}" 
     fork="${javac.fork}" 
     memoryMaximumSize="${javac.memoryMaximumSize}" 
     nowarn="${javac.nowarn}" 
     srcdir="${source.dir}" 
     source="${javac.source}" 
     target="${javac.target}" 
     encoding="UTF-8" 
    > 
     <compilerarg value="-XDignore.symbol.file"/> 

    </javac> 
</target>