ANT构建期间未检测到Java文件中的断点
我有一个类似下面的代码ANT构建期间未检测到Java文件中的断点,java,ant,Java,Ant,我有一个类似下面的代码 package com.mugil.servlet2; public class Sample { static { System.out.println("Hi There"); } public static void main(String[] args) { System.out.println("Sample Output1"); System.out.println("Samp
package com.mugil.servlet2;
public class Sample
{
static
{
System.out.println("Hi There");
}
public static void main(String[] args)
{
System.out.println("Sample Output1");
System.out.println("Sample Output2");
}
}
我正在通过下面的脚本启动一个ANT构建脚本
<?xml version="1.0" encoding="UTF-8"?>
<project name="ANT2" default="copyTarget">
<target name="copyTarget">
<mkdir dir="test/classes/"/>
<javac srcdir="src/com/mugil/servlet2/" destdir="test/classes/" includeantruntime="false"></javac>
<java classname="com.mugil.servlet2.Sample">
<classpath path="test/classes/"></classpath>
</java>
</target>
</project>
我在静态块的第一行和主块中添加了调试器
当我进行ANT构建时,我无法控制Java断点
感谢您的回复。断点在Java源代码中根本不存在,甚至在编译的类文件中也不存在。它们纯粹是一种调试时功能—调试器指示VM断点的位置。您在IDE中看到的断点以特定于IDE的方式存储;不希望它们与源代码一起持久化
就编译时信息而言,重要的是行号——如果在类文件中没有包含这些行号,那么在调试代码时,显然无法安装任何基于行的断点。这是因为您正在运行已编译的java代码。
Eclipse调试器在此处不可用…您需要提供允许调试器连接到正在运行的JVM的信息 例如
<java dir="${target.dir}" jar="${run.jar}" fork="true" jvm="${env.JAVA_HOME}/bin/java" taskname="java1.6">
<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${suspend.debug},address=${remote.debug.port}"/>
</java>
这将允许您将“远程”调试器连接到指定端口上的JVM,这就是IDE的作用所在…构建不是运行@Smutje但是你可以从antIs执行
java
命令有一种方法可以在java文件中的断点处停止我想你应该首先知道为什么要使用ANT,以及可以用它做什么。它与代码中的断点没有任何关系。jar中的代码不能有断点。在ide代码中放置断点以进行调试,感谢回复。我们在out项目中所做的是通过调用BeangGenerator.java来使用xml文件生成bean,BeangGenerator.java读取xml文件并相应地生成bean。此过程通过ANT codegen文件进行。有没有方法在执行此操作时跟踪代码的各个部分。也就是在运行时ANT脚本。@Java初学者:我不知道你说的“跟踪代码部分”是什么意思。如果您在构建过程中运行某个代码,但出现了问题,则只需添加更多诊断,或者在调试器中手动运行该代码并以这种方式进行调试。