如何在 Ant 构建任务中使用 -Xlint:unchecked 重新编译?

Posted

技术标签:

【中文标题】如何在 Ant 构建任务中使用 -Xlint:unchecked 重新编译?【英文标题】:How to recompile with -Xlint:unchecked in Ant build task? 【发布时间】:2011-06-03 15:14:05 【问题描述】:

当我运行我的 Ant“build.xml”文件的“编译”目标时,我收到以下消息:

Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

我的编译目标如下:

  <target name="compile">
    <javac srcdir="$src.dir" destdir="$classes.dir" debug="true" debuglevel="lines,source" includeantruntime="false">
      <classpath refid="class.path" />
    </javac>
    <javac srcdir="$test.dir" destdir="$classes.dir" debug="true" debuglevel="lines,source" includeantruntime="false">
      <classpath refid="class.path" />
    </javac>
  </target>

我必须在 build.xml 文件中进行哪些更改才能使 -Xlint:unchecked 在那里完成?

【问题讨论】:

【参考方案1】:

&lt;javac&gt;&lt;/javac&gt; 部分添加以下元素:

<compilerarg value="-Xlint:unchecked" />

【讨论】:

是的!这很有帮助。谢谢。编译器声称使用了 java.util.Vector 和 java.util.HashSet。由于它们已经过时,我必须寻找等效类型。有什么建议吗? @Benny: java.util.Vector 的用法应该换成 java.util.List/java.list.ArrayList @Lukasz 我应该在哪里给 Build.gradle 中的属性。我在 android Studio 中遇到了错误 @NeetuShrivastava,你找到路了吗?如果没有,请参阅我的回答。【参考方案2】:

AndroidStudio 中,执行以下操作:

allprojects 
    tasks.withType(JavaCompile) 
        options.compilerArgs << "-Xlint:deprecation"
    

【讨论】:

以上是关于如何在 Ant 构建任务中使用 -Xlint:unchecked 重新编译?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ant 目标中使用文件大小

如何从 Ant 'exec' 任务中导出环境变量?

如何显示学分

使用 ANT 时,如果我有一些特定的 java 版本,我如何才能定义任务?

如何将 JUnit Ant 任务配置为仅在失败时生成输出?

ivy (ant) 发布任务的 Nexus url