답변

2

"Ant 스크립트를 실행할 때 javac에서 컴파일 경고를 표시하지 않습니다"라는 의미입니까?

경고의 예는 제공하지 않지만 일반적으로 @SuppressWarnings 주석을 살펴볼 수 있습니다. 당신이 선택한 JDK에서 지원하는 사람을 볼 수있는

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} 

을 시도 할 수 있습니다 - 슬프게도 만 "unchecked"는 다른 모든 구현에 의존하면서 JLS BYT 필요합니다.

편집 :이 방식으로 "내부 독점 API"유형 경고를 억제 할 수 없습니다 this Bug ID. 그러나 javac에 대한 (문서화되지 않은) -XDignore.symbol.file 명령 줄 옵션 (예 : bug 6544224 참조)을 사용하여 가능해야합니다.

실제 솔루션은 ... 이러한 API를 사용하지 않도록 물론

건배,

+0

올바른 방법 인 것처럼 보이지만 어떻게 할 수 있습니까? 내가 추가 할 수 있습니다 : @SuppressWarnings ("all") 수입 후 모든 클래스의 상단에 모든 경고를 억제? 당신 개미에 대한 옵션을 알고 있니? -Xlint를 특정 값으로 설정해야합니까? – bladepit

+0

'ant'는 이것들을 신경 쓰지 않는다.'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의 개미 작업이 컴파일시에 모든 경고를 전환하는 속성을 nowarn했다입니다. 그러나 특정 클래스의 경고를 음소거하려면 java 파일 만 수정해야합니다.

는 여기가 http://ant.apache.org/manual/Tasks/javac.html

+0

내가 뭘해야하는지 알지 못해. 내 수업 파일에서 필요한 것은 무엇이고 내 개미 파일에서는 무엇을 만들지. 이 페이지를 알고 있지만 특정 클래스의 경고가 표시되지 않도록 처리 할 수 ​​없습니다. – bladepit

0

는 클래스 정의에 @SuppressWarnings 추가 간다. 예 : @SuppressWarnings("unchecked") :

@SuppressWarnings 
public class MyClass { 
} 

당신은 같은 문자열 인수를 전달하여 특정 경고를 억제 할 수 있습니다. 목록을 보려면 What is the list of valid @SuppressWarnings warning names in Java?을 참조하십시오.

+0

"내부 독점 API"유형 경고는이 방식으로 억제 할 수 없습니다 (cf. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476630. –

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>