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

问题描述 投票:0回答:1

也许这是我缺乏理解,但我认为在 Maven Java 项目中执行此操作会禁用所有调试信息进入类文件:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <debug>false</debug>
                </configuration>
            </plugin>

但是,我刚刚测试了它,虽然局部变量表消失了,源文件引用也消失了,但行号表仍然存在。 我做了一个

javap -l MyClass
,但仍然得到这样的东西:

protected com.mycorp.myapp.randomMethod();
  LineNumberTable: 
   line 197: 0
   line 68: 4
   line 69: 9
   line 70: 14
   line 198: 19

显然,这些东西还在里面......我想。

java maven-2
1个回答
24
投票

这看起来像MCOMPILER-114。使用以下内容似乎适用于该插件的 2.3.2 版本:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <debug>true</debug>
      <debuglevel>none</debuglevel>
    </configuration>
  </plugin>

(是的,我知道,这不是文档所说的,但是,它有效)

© www.soinside.com 2019 - 2024. All rights reserved.