当前位置: 首页 > 面试题库 >

通过Ant任务运行javac时如何查看编译器输出?

谷梁子昂
2023-03-14
问题内容

javac通过Ant任务运行时,是否有任何清楚说明和简单的方法来查看编译器输出?

这是我的javacAnt标签:

<javac srcdir="${myproject.src}" destdir="${myproject.class}">
    <!-- ... -->
</javac>

这是我收到的唯一错误消息:

/path/to/build.xml:42: Compile failed; see the compiler error output for details.

问题是我不知道如何 查看编译器错误输出以了解详细信息

很少有配置元素可以帮助您:

  • 蚂蚁1.6.5
  • Windows 7 x64
  • Java 1.6.0_20 x32
  • 通过Eclipse启动目标

问题答案:

我认为您正在寻找verbose="true"属性。

要求编译器提供详细输出;默认为否。

您已经在评论中提到,这不能打印出错误的原因。好吧,我认为您的情况正在发生其他变化。我有一个示例项目,无论哪种方式,我的错误原因都会被打印出来。这是输出verbose="false"

[mkdir] Created dir: C:\Projects\MavenSandbox\target\classes
[javac] C:\Projects\MavenSandbox\mavensandbox.xml:284: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 3 source files to C:\Projects\MavenSandbox\target\classes
[javac] C:\Projects\MavenSandbox\src\main\java\com\sandbox\Sandbox.java:8: error: cannot find symbol
[javac]         System.out.prinln("Hello, I\'m the best!");
[javac]                   ^
[javac]   symbol:   method prinln(String)
[javac]   location: variable out of type PrintStream
[javac] 1 error

错误和特定于您代码的错误导致错误消息。您可以创建一个重现该错误的示例项目吗?

正如您提到的,debug="true"这不是您要查找的属性。

指示是否应使用调试信息编译源;默认为关闭。如果设置为off,则-g:none将在支持该功能的编译器的命令行上传递(对于其他编译器,将不使用命令行参数)。如果设置为true,则debuglevel属性的值确定命令行参数。

您知道何时获得堆栈跟踪并且其中有行号吗?就是debug="true"那样 如果关闭,则不会显示行号。



 类似资料:
  • Ant Javac任务用于编译Java源文件。 它扫描源和目标目录以编译源文件,只在不存在或比Java文件旧时才编译。 如果Java源文件位于任何包中,则源文件应具有目录层次结构。 1. Apache Ant Javac属性 属性 描述 必需 源Java文件 是 存储类文件的目标 否 必须包含的文件模式列表 否 文件的每一行都被视为包含模式 否 必须排除的文件模式列表 否 文件的每一行都被视为排除

  • 我按照本教程创建java编译的ant构建文件,而不是GWT编译,而不是执行正确的操作来构建我的. war文件。 我使用Eclipse和GWT-compile作品,当我运行开发模式时,它是有效的。我也成功地部署在tomcat上。 问题是,当我运行脚本时,编译工作正常,但它在gwt编译器任务中失败。我的ant构建脚本如下: 它失败,出现以下错误: 我发现将gwt编译器类名更改为DevMode是成功的。

  • 过滤器任务是令牌过滤器,由使用复制任务的所有任务使用。此任务使用作为标记分隔符。 1. Apache Ant过滤器任务属性 属性 描述 必需 设置不带分隔符的标记字符串 是 复制文件时应该放置的字符串替换标记 是 必须从中读取过滤器的文件 是 2. Apache Ant过滤器任务示例 通过过滤所有出现的字符串之中的,将目录中的所有文件复制到目录中。 文件:build.xml 读取属性文件 以下示例

  • 问题内容: 在我当前的项目中,我正在使用junit测试。在本地PC上运行我的ant文件会生成预期的测试报告,但是当Bamboo尝试运行我的测试时,它将生成以下输出。 我怎么了 SimplerTest.java 本地输出: 服务器输出: build.xml ant -v输出: http://nopaste.info/1abdd27a8e.html 问题答案: 感谢详细的Ant输出。 看来您正在Bam

  • 问题内容: 我在一个项目上使用JAXB。JAXB的吸引力在于它与JDK捆绑在一起,我一直在命令行上使用xjc.exe从架构生成.java文件。我似乎找不到JAXB ant任务,请确保在http://jaxb.java.net上有下载,但是我想使用捆绑到JDK中的JAXB,是否有某种方法可以从ant调用JAXB? xjc.exe调用的类? 问题答案: 刚刚在tools.jar中打猎,并在com.su

  • 我想从我的Gradle脚本运行JMeter GUI,这样我就可以仔细控制版本和环境因素,这样我的本地开发人员机器构建1就没有必要的设置了。 我的JMeter的构建。gradle(多项目构建的一部分): 1目前,在我的构建中,所有内容都受到严格的版本控制,是Gradle构建的一部分。这包括NodeJS、NPM和Terraform。从字面上看,唯一的设置先决条件是Java8 JDK。我想用JMeter