如何在Eclipse下的Android项目中设置Maven

时间:2014-10-11 14:54:02

标签: java android eclipse maven jar

基本上我一直在摆弄以获得一个现有的android项目与eclipse luna下的maven一起工作。

所以这就是项目开始时的设置方式。

该项目是一个简单的android项目,它引用了两个外部.jars(这些是在libs文件夹中并通过添加外部jar 引用),然后还有三个额外的自制库,这些都是简单的android项目但设置为库(通过Android项目属性中的 Is Library 复选框)。

所以这样:

工作区

  • MainProject - > Android项目
      • lib1.jar - >通过添加外部广告
      • 在构建路径中引用
      • lib2.jar - >通过添加外部广告
      • 在构建路径中引用
  • SelfMadeLib1 - > Android项目 - >设置为库,并通过项目属性的 Android 部分中提供的添加在MainProject中引用
  • SelfMadeLib2 - > Android项目 - >设置为库,并通过项目属性的 Android 部分中提供的添加在MainProject中引用
  • SelfMadeLib3 - > Android项目 - >设置为库,并通过项目属性的 Android 部分中提供的添加在MainProject中引用

这就是我一直这样做的方式,但是因为有了maven,我想我可以绕过这个并使用maven。所以我去了一个头并删除了自制的库,专门为他们创建了一个新的工作区。

然后我通过导入...添加了项目 - >现有的Android代码进入工作区。之后,我只是使用Maven Android插件通过配置 - >进行转换。转换为Maven项目。在修复引用的Java SDK(将其设置为在我的系统上使用旧的1.6_45)后,我可以通过maven创建项目并将它们安装在我的仓库中,所以没有问题。

接下来是配置现有的MainProject,但这不起作用。我能够将项目转换为maven项目(与上面的自制库一样),并且还通过maven添加自制库。它们也显示在 Maven Dependencies 中,我还检查了那些依赖项应该包含在项目中(通过 Java Build Path <中的 Order and Export 选项卡) / strong>项目属性)

然而,当我尝试调试整个事情时,由于ClassNotFoundException会在我启动应用程序时立即抛出它,因此无效。

所以接下来我做的只是重用原来的android项目并以旧的方式添加libs(通过添加外部jar ),这就是ofc。在分析了项目后,我简单地认为maven项目没有lib,因为它们没有显示在项目属性的 Java Build Path 中的 Android Private Libraries 下。 / p>

所以我的问题是,是否有人能够让android项目与maven一起工作,如果是这样的话?

编辑:

这里要求的是pom文件

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>xyanid.android.dota2.soundboard</groupId>
    <artifactId>xyanid.android.dota2.soundboard</artifactId>
    <version>1.3.0.0</version>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>de.xyanid.android.database</groupId>
            <artifactId>xyanid.android.database</artifactId>
            <version>1.0.0.0</version>
        </dependency>
        <dependency>
            <groupId>de.xyanid.android.gui</groupId>
            <artifactId>xyanid.android.gui</artifactId>
            <version>1.0.0.0</version>
        </dependency>
    </dependencies>
</project>

请注意,de.xyanid.android.database als包含ormlite.core,ormlite-android以及另一个自制lib。我也试图包括thos,但这并没有改变任何东西。

0 个答案:

没有答案