首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将Maven Java编译器调试设置为false不会删除行号表?

将Maven Java编译器调试设置为false不会删除行号表,可以通过以下方法实现:

  1. 在Maven项目的pom.xml文件中,找到或添加<build>标签,然后在<build>标签内添加以下配置:
代码语言:xml<plugins>
复制
 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.8.1</version>
   <configuration>
     <debug>true</debug>
     <debuglevel>lines,vars,source</debuglevel>
     <optimize>false</optimize>
     <compilerArgs>-g</compilerArgs>
     <source>1.8</source>
     <target>1.8</target>
    </configuration>
  </plugin>
</plugins>
  1. 在命令行中,使用以下命令构建项目:
代码语言:txt
复制
mvn clean install

这将保留行号表,即使在调试设置为false的情况下。

推荐的腾讯云相关产品:

  • 腾讯云云服务器:提供可靠的云计算服务,支持弹性伸缩、负载均衡等功能。
  • 腾讯云容器服务:支持Docker容器化部署,提供弹性伸缩、负载均衡等功能。
  • 腾讯云数据库:提供MySQL、MongoDB等数据库服务,支持自动备份、恢复、监控等功能。
  • 腾讯云API网关:支持API的创建、发布、管理等功能,提供安全、稳定、可扩展的API服务。

产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Eclipse使用入门教程

项目表示了一系列相关的文件和设置(例如类路径,编译器级别,发布路径等等的设置)。一般来说目录下的.project和.classpath这两个文件描述了当前项目的信息。...点击项目属性对话框中的Java Compiler可以设置代码的编译器级别。...这时候再键入代码就不会自动检查编译错误了,也不会生成编译后的类文件,这样有助于快速的写代码。...2.13直接粘贴Java源码为类文件 Eclipse 3.3 支持一个功能就是如果剪贴板上放的是Java源程序,例如如下所示的代码复制到剪贴板上: public class YetAnother { }...2.17设置编辑器字体,颜色和显示行号 默认情况下Eclipse的代码编辑器是不显示行号的,要显示它可以通过菜单Window -> Preferences… 来打开Preferences设置对话框,几乎所有

1.4K00
  • 了解一下Java字节码

    java.lang.UsupportedClassVersionError: Unsupported major.minor version 52.0 如何编译指定版本的class文件 以Maven为例...可以用于记录JSP的行号 Synthetic 类、方法表、字段表 表示方法或字段为编译器自动生成的 LocalVariableTypeTable 类 使用特征签名代替描述符,用于描述范型参数化类型 RuntimeVisibleAnnotations...类、方法表、字段表 为动态注解提供支持,表示注解是运行时可见的 RuntimeInvisibleAnnotations 类、方法表、字段表 为动态注解提供支持,表示注解是运行时不可见的 RuntimeVisible...个元组,其中,start_pc为字节码偏移量,line_number为对应的行号。...而方法异常退出时,返回地址是要通过异常处理器表来确定的,栈帧中一般不会保存这部分信息。

    1.5K30

    【Linux】深度解析与实战应用:GCCG++编译器入门指南

    1. gcc/g++简介   在Linux系统中,GCC(GNU Compiler Collection)是极其重要且广泛使用的编译器,它支持多种编程语言,包括C、C++、Objective-C、Java...本文将详细介绍GCC中的C编译器gcc和C++编译器g++的基本使用方法和编译过程。   ...在Debug模式下,编译器会生成包含大量调试信息的二进制文件,这些调试信息包括源代码的行号、变量名、函数名等,这些信息对于使用调试器(如GDB)来跟踪程序执行、检查变量值、设置断点等非常有用。...删除断点 delete 断点编号:删除指定编号的断点。 clear 文件名:行号:删除指定文件和行号上的断点。...单步执行 next(简写为n):执行下一行代码,如果当前行有函数调用,不会进入函数内部。 step(简写为s):执行下一行代码,如果当前行有函数调用,会进入函数内部。

    21810

    Java注解编译期处理AbstractProcessor详解

    注解处理器的处理步骤: 在java编译器中构建; 编译器开始执行未执行过的注解处理器; 循环处理注解元素(Element),找到被该注解所修饰的类,方法,或者属性; 生成对应的类,并写入文件; 判断是否所有的注解处理器都已执行完毕...返回值表示这些注解是否由此 Processor 声明 如果返回 true,则这些注解不会被后续 Processor 处理; 如果返回 false,则这些注解可以被后续的 Processor 处理。...请看:如何在IDEA中调试编译期源码 Maven相关配置(指定生效的Processor) 如果你使用的是Maven来编译,那么有一些参数可以设置 比如指定注解处理器生效 、代码生成的源路径。...-- 指定生效的注解处理器,这里设置之后,只会有下面配置的注解处理器生效; 一般情况也不用主动配置,可以将下面的全部删除 --> <annotationProcessors..."); 注意这个获取到的编译器参数只能获取的是以-A开头的参数,因为是过滤之后的 那么这个自定义参数从哪里设置的呢?

    2.7K20

    jvm之.class文件解读(下)

    使用 ACC_SUPER 可以让类更准确地定位到父类的方法 super.method(),现代编译器都会设置并且使用这个标记。...这类信息通常被用于 Java 虚拟机的验证和运行,以及 Java 程序的调试,一般无须深入了解。 此外,字段表、方法表都可以有自己的属性表。用于描述某些场景专有的信息。...SourceFile 类文件 记录源文件名称 SourceDebugExtension 类文件 用于存储额外的调试信息 Synthetic 类,方法表,字段表 标志方法或字段为编译器自动生成的 LocalVariableTypeTable...LineNumberTable 属性是用来描述 Java 源码行号与字节码行号之间的对应关系。这个属性可以用来在调试的时候定位代码执行的行数。...start_pc,即字节码行号;1ine_number,即 Java 源代码行号。

    22530

    【linux】gdb

    -g 选项 release版本不可被调试,debug版本可以,原因是,debug版本下编译器形成可执行程序的时候会给可执行程序添加调试信息 1 myprocess-debug: myprocess.c...通过这个命令,你可以查看包含在 ELF 文件中的不同节(section),这些节可能包括代码段、数据段、符号表、字符串表等 #include int AddToTarget(int a...\n"); return 0; } gdb binFile 退出: ctrl + d 或 quit 调试命令: list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。...break(b) 行号:在某一行设置断点 break 函数名:在某个函数开头设置断点 info break ( i b ):查看断点信息。...delete(d) breakpoints:删除所有断点 delete breakpoints n:删除序号为n的断点 disable breakpoints:禁用断点 enable breakpoints

    11610

    Linux学习-开发工具的使用

    : syntax on 显示行号: set nu 设置缩进的空格数为4: set shiftwidth=4 注意: 建议使用网络上已经配置好的vim,学习教程进行下载就行了 一般vimrc在每一个用户下都有一个...,彼此之间互不影响 三、Linux编译器-gcc/g++ 1、程序生成过程 注:以gcc为示例展示过程 语法: gcc [选项] 要编译的文件 [选项] [目标文件] 1)预处理 功能主要包括...GNU 调试器可利用该信息 -shared 此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库 -O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值...break 函数名:在某个函数开头设置断点 delete breakpoints/d:删除所有断点 delete breakpoints n/d n:删除序号为n的断点 disable breakpoints...对于clean这种目标文件,我们将它设置为伪目标(用 .PHONY 修饰),伪目标的特性是总是可以被执行(可以多次执行) 示图:

    3.4K20

    Class文件结构介绍

    与class文件中其他的数据项目要求严格的顺序、长度和内容不同,属性表集合的限制稍微宽松些,不在要求各个属性表具有严格顺序,并且只要不与已有属性名称重复,任何人实现的编译器都可以向属性表中写入自己的属性信息...如在进行JSP文件调试时,无法通过Java堆栈来定位到JSP文件的行号,JSR-45规范为这些非Java语言编写,却需要编译成字节码运行在Java虚拟机汇中的程序提供了一个进行调试的标准机制,使用SourceDebugExtension...Synthetic 类中、方法表中、字段表中 标识方法或字段为编译器自动产生的 RuntimeVisibleAnnotations 类中、方法表中、字段表中 JDK1.5中新增的属性,为动态注解提供支持...Code属性   java程序方法体重的代码经过Javac编译器处理后,最终变为字节码指令存储在Code属性内,Code属性出现在方法表的属性集合中(如下图),但并非所有的方法都必须存在这个属性,譬如接口或者抽象类中的方法就不存在...LineNumberTable属性 LineNumberTable属性用于描述Java源码行号与字节码行号(字节码的偏移量)之间的对应关系。

    1.8K20

    如何调试Maven插件

    最近才慢慢有一点状态,开始学点技术;今天这篇就是讲maven插件,为啥会折腾这个,公司内有个mybatis generator,开源版本基础上针对公司内部做了一些定制开发,但是,有个很蛋疼的问题,在根据数据库表来反向生成...是吧,这里的答案就在spring boot的maven插件里了。今天我们肯定不会那么复杂,搞个clean插件学习下,就ok了。...,直接删了,用默认版本就行),删除后的pom如下: <?...(就是在前面方案的基础上,把源码附上了): 这种方式,打个断点,看看: 这个方式是可以调试插件本身那几个java文件,但是插件依赖的那些,就还是有问题,这种方式吧,鸡肋。...但是,这里提醒一下,不要想着去改代码,如果直接改,改了肯定就class和java源码的行号,对应不上了,至于为什么,这是一个值得大书特书的故事了,留待后续。

    79120

    基础理论

    溢出概念:在计算机中,当要表示的数据超出计算机所使用的的数据表示范围时,产生了数据的溢出 产生的原因: 1、使用了非类型安全的语言 比如C和C++ 2、用不可靠的方式存取或者复制内存缓存区 3、编译器设置的内存缓冲区靠太近关键数据结构...-g 代表编译器会收集调试(debug)信息,这样如果你的程序运行出错,就可以通过 gdb 或者 lldb 等工具进行逐行调试,方便找出错误原因。...一些gdb的指令: 运行 r是运行 n是单步执行,next遇到函数不会进入函数内部 si是步入,step会执行到函数内部 c是继续运行,调试时,使用continue命令继续执行程序。...删除断点 删除断点通过命令包括: delete :删除指定断点 delete:删除所有断点 clear clear 函数名 clear 行号 clear 文件名:行号 clear 文件名:函数名...查看断点 info br 简写:i b 设置断点 设置断点可以通过b或者break设置断点,断点的设置可以通过函数名、行号、文件名+函数名、文件名+行号以及偏移量、地址等进行设置。

    13010

    为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

    费解了这么长时间,今天我终于可以解释这个现象了,来揭开它的面纱~ 问题发现 java使用者都知道,.java文件属于源码文件,它需要经过了javac编译器编译为.class字节码文件才能被JVM执行的。...对.class字节码稍微有点了解的小伙伴应该也知道这一点:Java在编译的时候对于方法,默认是不会保留方法参数名,因此如果我们在运行期想从.class字节码里直接拿到方法的参数名是做不到的。...java.lang.String----null class java.lang.Integer----null ==============设置上ParameterNameDiscoverer后MethodParameter...有这疑问是因为JVM执行的是.class文件,而该文件的行和.java源文件的行肯定是对应不上的,为何行号却能在.java文件里对应上?...既然记录着了,这样我们就可以通过分析字节码信息来得到这个名称了~ 说明:javac的调试选项主要包含了三个子选项:lines,source,vars 如果不使用-g来编译,只保留源文件和行号信息;如果使用

    1.3K32

    IntelliJ IDEA 2023.2 主要更新了什么?(纯文本介绍版)

    Java方面的改进包括扩展Java检查、为格式字符串提供代码高亮显示和导航,以及提供更好的Javadoc注释支持等。其他方面的更新涉及运行/调试、版本控制系统、Docker、数据库工具等。...在 “设置”/“首选项”|”编辑 |检查 ,我们为代码示例实现了语法突出显示。 为了方便 Linux 用户,操作系统的本机标头已在新的 UI 中删除,从而使界面更简洁。...我们添加了将一些重构同时应用于多个成员的新方法。 IntelliJ IDEA 2023.2 可以准确猜测方法在堆栈跟踪报告中的位置,即使行号不可用或已发散。...Scala IntelliJ IDEA 2023.2 通过改进枚举使用、增强的 TASTy 反编译器以及为 Scala 开发人员提供更好的调试体验来增强对 Scala 3 的支持。...,将其设置为在另一个配置之前运行 现在可以通过将 Docker 运行配置指定为启动前 任务 Kubernetes 现在可以在单个项目中设置多个 kubeconfig 文件,这简化了处理多个集群或在同一项目中处理不同集群上的环境的体验

    23010

    Linux下GDB调试指令总结

    ,而 next 则直接调用函数,不会进入到函数体内。...(可以带上代码路径和代码名称:b OAGUPDATE.cpp:578) b fn1 if a>b:条件断点设置 break func(break缩写为b):在函数func()的入口处设置断点,如:break...cb_button delete 断点号n:删除第n个断点 disable 断点号n:暂停第n个断点 enable 断点号n:开启第n个断点 clear 行号n:清除第n行的断点 info b (info...list 行号:将显示当前文件以“行号”为中心的前后10行代码,如:list 12 list 函数名:将显示“函数名”所在函数的源代码,如:list main list :不带参数,将接着上一次 list...如:display a watch 表达式:设置一个监视点,一旦被监视的“表达式”的值改变,gdb将强行终止正在被调试的程序。

    4.6K20

    Spring Native 中文文档

    removeSpelSupport默认情况下设置为 false,设置为 true 删除 Spring SpEL 支持以优化空间占用(应仅在不需要 SpEL 的应用中使用)。...removeYamlSupport 默认情况下设置为 false,设置为则true 删除Spring Boot Yaml支持以优化空间占用。...verify 默认情况下设置为 true,执行一些自动验证以确保应用可以本地编译, 设置为 false 关闭验证。 debugVerify 默认设置为false,设置为 true 时启用验证调试。...removeUnusedConfig默认情况下设置为 true,设置为 false 禁用删除未使用的配置。...failOnMissingSelectorHint 默认情况下设置为 true,如果没有为激活的选择器提供提示数据,则抛出错误,设置为 false 将插件从抛出错误切换为警告。

    10.5K10

    Android对so体积优化的探索与实践

    strip 优化的作用就是删除输入 so 中的调试信息和符号表。...带调试信息和符号表的 so 可以将崩溃调用栈的每个栈帧还原成其对应的源码文件名、文件行号、函数名等,大大方便了崩溃问题的排查。...以一个测试 so 为例,其最终 so 大小为14 KB,但是对应的带调试信息和符号表的 so 大小为 136 KB。...需要注意的是上面这两种方式,只能控制变量或函数是否存在于动态符号表中(即是否删除其动态符号表项),而不会删除其实现体。...本文的优化方案并未修改调试信息和符号表,所以可以使用带调试信息和符号表的 so 对崩溃堆栈进行完整的还原,解析出崩溃堆栈每个栈帧对应的源码文件、行号和函数名等信息。

    2.7K31

    Linux从入门到精通(九)——Linux编程

    3. vi的编辑命令 3.1 移动光标 行号: vi的工作是在文本缓冲区中实现的,为了帮助用户观看, 可为文本的行设置一个行号, 放在文本的左侧(行首前) 可以用末行命令set来设置和取消: :set...定义快捷键 :map 快捷键 命令 # 定义快捷键 :unmap 快捷键 # 删除快捷键 [例1]: # 设置ctrl+O为注释当前行: :map ^O I# # ^使用ctrl+v #...设置ctrl+D为取消当前行注释: :map ^D 0x :unmap ^O :unmap ^D 5. gcc编译器 ​ GNU CC (简称为 gcc)是GNU项目中符 合ANSIC标准的编译系统,...6.1 gdb 基本用法 ​ 需要调试的程序,在编译时要使用调试选项。在默认的情况下,调试符号不会编译到程序中。调试之后,不需要重新编译程序。...list函数名:显示函数对应内容 list行号:显示该行周围的源代码 Set listsize 行数:设置显示代码的行数 Show listsize:显示当前listsize的设置 listfirst,

    2K30

    Java虚拟机--Class文件结构

    1、Code属性 Java方法体中的代码经过javac编译器处理后,最终变为字节码指令存储在Code属性内。...3、LineNumberTable属性 用于描述Java源码行号和字节码行号(字节码偏移量)之间的对应关系。...该属性不是必须的,如果选择不生成该属性,对程序运行时最主要的影响是抛出异常时不会显示出错行号,也无法按照源码行设置断点。...4、LocalVariable属性 用于描述栈帧中局部变量表中的变量与Java源码中定义变量之间的关系,它不是必须的属性。如果选择不生成该属性,在调试期间无法根据参数名称从上下文获得参数值。...如果不生成该属性,当抛出异常时堆栈中不会显示出错代码所属的文件名。 6、ConstantValue属性 通知虚拟机自动为静态变量赋值。只有被static关键字修饰的变量才可以使用这项属性。

    79750

    Java Review - MapStruct_使用 Intellij 和 Maven Debug 分析MapStruct实现原理

    、JSR 269 和 MapStruct Java动态编译是指在运行时动态地将Java源代码编译成字节码并加载到Java虚拟机中执行。...总之,JSR 269 API为Java编译器提供了强大的扩展能力,使得开发者可以根据自己的需求在编译时进行代码的生成和修改。...确保在执行此命令前已经正确设置了Maven的环境变量。...打断点并进行调试: 在IDEA中打开您想要调试的Java文件。 在"JavaCompiler"类的"compile"方法处设置一个断点。...完成断点设置后,点击IDEA工具栏上的"Debug"(调试)按钮开始调试。 注意事项: 如果本地编译的class文件已经是最新编译的,直接点击"Debug"按钮可能不会进入调试状态。

    32610
    领券