阅读了我能找到的每一个帖子和问题后,我很难找到一种比使用以下内容更好的方式。
我需要使用相同的模块集,并针对截然不同的体系结构(J2ME与J2SE)进行编译,它们需要对某些库有不同的依赖关系,并且在编译时需要不同的源/目标/调试设置。 / p>
使用配置文件和分类器,我可以通过运行一个配置文件,清理和使用其他配置文件运行构建来完成此操作。分类器对结果进行分类。但是,如果您只是更改配置文件并进行重建,它将不会自行清理,它需要在超级pom上多次运行maven,并且它不允许您同时启用多个配置文件(以及结果)当你这么做时很糟糕。)
我可以使用附加工件执行某些操作并强制编译和jar步骤多次运行吗?
javac选项确实是踢球者:(使用依赖关系的配置文件不会导致任何问题)
对于J2ME:
源= 1.4
目标= 1.4
-g:源
用于J2ME调试
源= 1.4
目标= 1.4
对于J2SE
源= 1.5
目标= 1.5
答案 0 :(得分:2)
您是否可以显式调用编译器插件Maven Compiler Plugin,然后定义多个执行。有点像
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>compile1</id>
<phase>generate-resources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</execution>
<execution>
<id>compile1</id>
<phase>generate-resources</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</execution>
</executions>
</plugin>