通过Ant任务运行javac时如何查看编译器输出?
在通过Ant任务运行javac
时,有没有明确解释和简单的方法来查看编译器输出?
这是我的javac
Ant标签:
这是我收到的唯一错误消息:
/path/to/build.xml:42: Compile failed; see the compiler error output for details.
问题是我不知道如何查看编译器错误输出以获取详细信息 …
很少有可能有用的配置元素:
- ant1.6.5
- Windows 7 x64
- Java 1.6.0_20 x32
- 通过Eclipse启动目标
我知道在SO上有一些相关的回答问题,但没有一个真正回答这个简单的问题:
- https://stackoverflow.com/a/1275552/1225328 :我无法添加允许
compile
标记的特定库; - https://stackoverflow.com/a/1264622/1225328 :这管理Ant的输出而不是编译器的输出;
- 编译失败; 有关详细信息,请参阅编译器错误输出 :太模糊无法解决任何问题;
- Ant:编译失败; 有关详细信息,请参阅编译器错误输出 :无答案…
- 等等
我想你正在寻找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"
作用。 如果它关闭,则不会获得行号。
当java编译器本身无法启动时,也会出现此问题。 例如,当定义的堆太大时。 Intellij的java2任务将显示信息
Using external javac compiler Compilation arguments: ... '-J-Xmx1600m' ... Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.
以及build.xml文件中的原因,在我的情况下:
您应该添加属性debug
用这个
我收到相同的错误消息,没有进一步的信息。 问题最终导致我的.jar文件之一被破坏了。 替换.jar文件解决了这个问题。
- Ant scp任务无法正常工作,即使在ant / lib上使用jsch也是如此
- Ant构建不起作用:无法找到javac编译器
- 自定义index.html javadoc页面?
- 使用属性打开/关闭Proguard
- 在NetBeans中编译任何JavaFX项目都会返回Unsupported major.minor版本52.0
- Windows上的Ant编码问题 – UTF-8文件但在变音符号上吐出垃圾
- 在java jar中有重复的类有什么含义?
- 我可以使用较新的JDK编译带有ant的较旧Java版本的java,以便在编译使用较新API的代码时生成输出吗?
- 如何在jenkins上跨多个项目构建作业管理常见的ant构建脚本?