有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java概要文件不是工件名称的一部分

我的项目使用的代码可以在Android或Java上运行。为了抽象出不常见的部分,我们使用相同的API,但是平台特定的实现——一个用于Android,一个用于Java

大概是这样的:

common/src/main/java/...
droid/src/main/java/...
POJ/src/main/java/...

common可以依赖于droid。jar或POJ。罐子

我使用概要文件在common上进行安卓构建(指定droid.jar依赖项),然后进行java构建(指定POJ.jar依赖项)。这会导致冲突,因为两者都创建具有相同名称但内容不同的工件

我是在叫maven向后弯腰吗?有没有更好的方法来实现这一点

谢谢


共 (1) 个答案

  1. # 1 楼答案

    我猜您使用了一些插件来构建jar/war/。。。。 在maven概要文件中,您不仅可以声明依赖项,还可以声明插件配置

    它看起来像:

    <profile>
      <id>whatever</id>
      <build>
        <plugins>
          <groupId/>
          <artifactId/>
          <version/>
          <configuration>
            ...
          </configuration>
        </plugins>
      </build>
    </profile>
    

    例如,如果您使用maven jar插件。您可以定义finalname,以从不同的配置文件中获得唯一的名称

    但是,请注意,如果使用一个概要文件进行构建,那么如果使用mvn -Panother clean package,它将删除另一个概要文件

    另一种方法是创建具有不同依赖关系的子模块