Dav*_*ave 3 debugging maven-2 scala maven-plugin
我有一个scala项目,我使用Maven和maven-scala-plugin进行编译.我需要在编译的类中包含调试信息,我想知道有没有办法让Maven或scala插件执行此操作.我发现这个页面听起来很有可能,但是不清楚将params放在pom.xml中的位置.
如果可能的话,我希望这个选项是pom.xml中指定的东西而不是命令行.
.class需要在该maven-scala-plugin级别上编译包含调试信息的文件.maven-compiler-plugin在默认情况下执行此操作- 正如我们在debug默认为true 的选项的文档中看到的那样- 没有用,因为它没有编译Scala源代码.
现在,如果我们查看scalac 手册页,scalac编译器有一个–g可以采用以下值的选项:
"
none"不生成调试信息,
"source"仅生成源文件属性,
"line"生成源和行号信息,
"vars"生成源,行号和局部变量信息,
"notc"生成以上所有内容并且不执行尾调用优化.
好消息是它scala:compile有一个很好的args可选参数,可以用来传递编译器的附加参数.因此,要使用它并将-g选项传递给scala编译器,您只需要配置maven插件,如下所示:
  <plugin>
    <groupId>org.scala-tools</groupId>
    <artifactId>maven-scala-plugin</artifactId>
    <version>2.9.1</version>
    <executions>
      <execution>
        <goals>
          <goal>compile</goal>
          <goal>testCompile</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <args>
        <arg>-g:notc</arg>
      </args>
      ...
    </configuration>
  </plugin>
我跳过配置的其它部分(如repositories,pluginRepositories等),因为这不是你问的:)