16
おそらくこれは、理解の私の欠如であるが、私はMavenのJavaプロジェクトでこれを行うことは、クラスファイルに入ってから、すべてのデバッグ情報を無効にすることを想定しているだろう:Maven Javaコンパイラのデバッグをfalseに設定しても、行番号テーブルは削除されませんか?
<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クラスを分解してこれを発見することを心配したことがないのだろうか。 – HDave
私はあなたの設定を試しましたが、結果として得られるクラスファイルは小さくなりましたが、ラインテーブルはまだそこにあります!!! – HDave
@HDaveあなたは清掃しましたか?私はこれを投稿する前にテストしましたが、上記の設定を使用してラインテーブルは明らかに欠けています。 –