如何创建对其他本地项目的依赖

时间:2014-04-29 13:44:38

标签: android maven

我有一个Android项目。该项目还增加了我公司的另外两个项目。 为此,在Android中,我右键单击项目,然后选择属性,然后是android,然后是库,然后单击“添加”按钮并选择放置项目的两个本地文件夹。

在这样做之后,当我编译我的项目时,android会编译其他两个项目并且"自动"被添加到我的项目中。

现在,我需要做同样的事情,但是使用Maven。我该怎么办?

感谢您的帮助,抱歉我的英语很差

2 个答案:

答案 0 :(得分:0)

如果所有项目都是Maven项目,那么您可以轻松创建一个多模块项目。有关详细信息,请查看this guide。 TL; DR将添加一个看起来像这样的父pom:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>your.group.id</groupId>
    <artifactId>your-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0</version>
    <name>Multi Module Parent Example</name>

    <modules>
        <module>android-app</module>
        <module>other-project1</module>
        <module>other-project2</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

然后你有一个像这样的目录结构:

my-projects/
| pom.xml <-- The above pom
| android-app/
+-+ pom.xml
| \ ...
| other-project1/
+-+ pom.xml
| \ ...
| other-project2/
+-+ pom.xml
  \ ...

编辑:如果您想自动将非Maven项目中的jar包括到您的构建中,请查看this question及其接受的答案。 TL; DR这里是为你的pom添加这样的东西:

<dependency>
    <groupId>test</groupId>
    <artifactId>own-project1</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>../own-project1/target/own-project1.jar</systemPath>
</dependency>
<dependency>
    <groupId>test</groupId>
    <artifactId>own-project2</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>../own-project3/target/own-project3.jar</systemPath>
</dependency>

答案 1 :(得分:0)

您所依赖的项目都是 maven 项目,因此不会有额外的工作人员在这里, maven 使事情变得更容易,您可以简单地声明对其他人的依赖项目:

<project>
  <groupId>your.group.id</groupId>
  <artifactId>your-artifact-id</artifactId>
  ...
  <dependency>
    <groupId>some.group.id</groupId>
    <artifactId>some-artifact-id</artifactId>
    <version>1.0</version>
  </dependency>
</project>

或者当依赖模块是非mavenized项目时,您可以将存档(jar)安装到本地存储库,以便以后可以将它们用作maven依赖项:

mvn install:install-file -Dfile=PATH_TO_JAR_FILE.jar -DgroupId=some.group.id -DartifactId=some-artifact-id -Dversion=1.0 -Dpackaging=jar

然后,上升的pom.xml文件快照仍然合法。