所以我有一个带有两个子模块的Maven项目。第一个是编译器插件本身,它按照我的预期进行编译。
第二个子模块是我想用先前构建的编译器插件编译的一些示例代码。
所以我在pom文件中有这个:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<sourceDir>.</sourceDir>
<!--jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs-->
<args>
<arg>-Xplugin:../plugin/target/plugin-1.0-SNAPSHOT.jar</arg>
</args>
</configuration>
</plugin>
基于我能读到的内容,应该为编译器提供正确的参数,但它似乎根本没有做任何事情。
编辑:根据建议,我尝试使用 compilerPlugins 标记,因此相关区域变为:
<configuration>
<sourceDir>.</sourceDir>
<compilerPlugins>
<compilerPlugin>
<groupId>*groupid*</groupId>
<artifactId>plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</compilerPlugin>
</compilerPlugins>
</configuration>
这确实有效,不幸的是它现在产生了这个错误:
无法在资源库scala-tools.org(http://scala-tools.org/repo-releases)
groupid :plugin:jar:1.0-SNAPSHOT' >这是可以理解的,因为它不存在。
我尝试将其作为依赖项添加到依赖项列表中,但这并没有改变任何内容。
最终修改:
执行
mvn clean install
修好了。
由于
答案 0 :(得分:4)
使用compilerPlugin配置设置工件是否有效?
http://scala-tools.org/mvnsites/maven-scala-plugin/compile-mojo.html#compilerPlugins
更新:它基本上就像依赖项一样。您将在其中添加编译器插件作为工件:
<compilerPlugins>
<compilerPlugin>
<groupId>_your plugins groupId_</groupId>
<artifactId>plugin</artifactId>
<version>1.0-SNAPSHOT</groupId>
</compilerPlugin>
</compilerPlugins>