使用Maven构建多个Java体系结构的工件(比配置文件更好)?

时间:2011-03-02 00:15:25

标签: maven-2 maven

阅读了我能找到的每一个帖子和问题后,我很难找到一种比使用以下内容更好的方式。

我需要使用相同的模块集,并针对截然不同的体系结构(J2ME与J2SE)进行编译,它们需要对某些库有不同的依赖关系,并且在编译时需要不同的源/目标/调试设置。 / p>

使用配置文件和分类器,我可以通过运行一个配置文件,清理和使用其他配置文件运行构建来完成此操作。分类器对结果进行分类。但是,如果您只是更改配置文件并进行重建,它将不会自行清理,它需要在超级pom上多次运行maven,并且它不允许您同时启用多个配置文件(以及结果)当你这么做时很糟糕。)

我可以使用附加工件执行某些操作并强制编译和jar步骤多次运行吗?

javac选项确实是踢球者:(使用依赖关系的配置文件不会导致任何问题)

对于J2ME:
源= 1.4
目标= 1.4
-g:源

用于J2ME调试
源= 1.4
目标= 1.4

对于J2SE
源= 1.5
目标= 1.5

1 个答案:

答案 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>