首页
学习
活动
专区
工具
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):执行下一行代码,如果当前行有函数调用,会进入函数内部。

    9810

    Android Studio 3.6 新特性一览(推荐)

    我们可以在代码中引用所有具有 ID 的 view,但不会有空指针或类强制转换的错误风险。这些差异意味着布局和代码之间的不兼容导致编译时而不是运行时的构建失败。...通过鼠标悬停在源代码文件中靠近行号的 C/C++ 项标记上来查看函数的映射 JNI 声明自动创建一个 stub 实现函数。...Android Gradle 插件应用程序或库模块中的每一个 build variant 创建一个组件,我们可以使用该组件构建产物发布到自定义的 Maven 仓库中。...构建团队一直在努力的改进构建性能,在这个版本中,开发调试模式时的默认打包工具改为了 zipflinger。...这样在调试开发的时候构建速度将会有所提高,但是我们也可以在 gradle.properties 文件中设置 android.useNewApkCreator=false 来改用旧的打包工具。 ?

    2.4K20

    Java注解编译期处理AbstractProcessor详解

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

    2.3K20

    jvm之.class文件解读(下)

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

    19930

    【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

    9610

    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

    【Linux】Linux 编译器调试器 -- gccg++gdb 的使用

    1.4 链接 程序在链接阶段会完成如下操作: 合并段编译器会把在汇编阶段生成的多个目标文件中相同格式的数据合并在一起,最终形成一个 .exe 文件。...符号的合并和重定位:符号的合并是指编译器会把在汇编阶段生成的多个符号合并为一个符号;重定位则是指当同一个符号出现在两个符号中时,编译器会选取其中和有效地址相关的那一个,舍弃另外一个。...; -S 在完成编译后停下来,不再继续往后编译,生成的文件以 .s 后缀; -c 在完成汇编后停下来,不再继续往后编译,生成的文件以 .o 后缀; -o 输出到终端的内容保存到指定文件中; -static...yum install -y gdb gdb 调试的常见选项如下: l 行号:从指定的行号开始往下显示源代码,每次显示10行 (l – list);(注:gdb 有自动记忆命令的功能,即当我们第一次使用...函数显示该函数的源代码: r 运行程序: b 行号打断点,info b 查看断点,d 断点编号 删除断点: r 调试运行: n 逐过程调试,s 逐语句调试: c 运行至下一个断点处停下:

    1.7K00

    基础理论

    溢出概念:在计算机中,当要表示的数据超出计算机所使用的的数据表示范围时,产生了数据的溢出 产生的原因: 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设置断点,断点的设置可以通过函数名、行号、文件名+函数名、文件名+行号以及偏移量、地址等进行设置

    11510

    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源码的行号,对应不上了,至于为什么,这是一个值得大书特书的故事了,留待后续。

    76720

    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.5K20

    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 文件,这简化了处理多个集群或在同一项目中处理不同集群上的环境的体验

    17610

    为何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

    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.3K10

    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

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

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

    2.5K31
    领券