问题
unable to build the project robospice-sample-ormlite-content-provider I use maven:
[ERROR] Failed to execute goal on project robospice-sample-ormlite-content-provi
der: Could not resolve dependencies for project com.octo.android.robospice:robos
pice-sample-ormlite-content-provider:apk:1.0.0-SNAPSHOT: Could not find artifact
com.octo.android.robospice:robospice-spring-android:jar:1.4.6-SNAPSHOT -> [Help
1]
I tried for more than 2 hours with all solutions found online with no luck. Can any one please provide the eclipse project ready and built ?
Thanks.
EDIT 2: I use Ropospice library and trying to compile the samples projects: https://github.com/octo-online/robospice
EDIT1: pom.xml
<?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>com.octo.android.robospice</groupId>
<artifactId>robospice-sample-ormlite-content-provider</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>Robospice - Sample ORMLite + SpringAndroid</name>
<description>A simple sample that demonstrates how to use the ORMLite module + ORMLite Content Provider and RoboSpice. As it is only a caching extension, we will combine it with SpringAndroid for REST requests.</description>
<properties>
<android.version>4.1.1.4</android.version>
<robospice.ormlite.content.provider.version>1.4.6-SNAPSHOT</robospice.ormlite.content.provider.version>
<robospice.spring.android.version>1.4.6-SNAPSHOT</robospice.spring.android.version>
<ormlite.content.provider.version>1.0.2</ormlite.content.provider.version>
<spring.android.version>1.0.1.RELEASE</spring.android.version>
<simplexmlserializer.version>2.7</simplexmlserializer.version>
<commons.logging.version>1.1.3</commons.logging.version>
<android-maven-plugin.version>3.7.0</android-maven-plugin.version>
<maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
<maven-clean-plugin.version>2.5</maven-clean-plugin.version>
<maven-dependency-plugin.version>2.6</maven-dependency-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${android.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.octo.android.robospice</groupId>
<artifactId>robospice-ormlite-content-provider</artifactId>
<version>${robospice.ormlite.content.provider.version}</version>
</dependency>
<dependency>
<groupId>com.octo.android.robospice</groupId>
<artifactId>robospice-spring-android</artifactId>
<version>${robospice.spring.android.version}</version>
</dependency>
<dependency>
<groupId>org.simpleframework</groupId>
<artifactId>simple-xml</artifactId>
<version>${simplexmlserializer.version}</version>
<!-- must be re-declared -->
<exclusions>
<exclusion>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
</exclusion>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.tojc.ormlite.android</groupId>
<artifactId>ormlite-content-provider-compiler</artifactId>
<version>${ormlite.content.provider.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/</sourceDirectory>
<plugins>
<plugin>
<extensions>true</extensions>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android-maven-plugin.version}</version>
<configuration>
<androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
<assetsDirectory>${project.basedir}/assets</assetsDirectory>
<resourceDirectory>${project.basedir}/res</resourceDirectory>
<nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
<sdk>
<platform>17</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>lint</id>
<build>
<plugins>
<plugin>
<groupId>com.lewisd</groupId>
<artifactId>lint-maven-plugin</artifactId>
<version>0.0.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ant</id>
<build>
<plugins>
<!-- This configuration is only meant to provide compatibility for ant
users -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/libs-for-ant</directory>
<includes>
<include>*.jar</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<!-- This configuration is only meant to provide compatibility for ant
users -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/libs-for-ant</outputDirectory>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeArtifactIds>xpp3,httpclient,httpcore,android,xmlParserAPIs,opengl-api</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
回答1:
I dug around the internet for a while to find all the classes and jars that will make this work and eventually got it working.
I have uploaded my own working version of the Robospice Content Provider here: https://github.com/Winghin2517/RobospiceContentProvider
Unfortunately, I had to use older versions of jars to make it work - for example, jar for Android-OrmLiteContentProvider 1.0.4 did not work as it does not recognise the @Contract annotation (https://github.com/jakenjarvis/Android-OrmLiteContentProvider/issues/21) and therefore I had to add the 1.0.3 manually.
The folder for ormlitecontentproviderlibrary in my git repo contains Android-OrmLiteContentProvider 1.0.3.
The folder in my git repo: https://github.com/Winghin2517/RobospiceContentProvider/tree/master/libs contains the corresponding compiler jar: ormlite-content-provider-compiler-1.0.3.jar
I link all of them together in my build.gradle file for my app so that all dependencies are picked up.
来源:https://stackoverflow.com/questions/21857254/failed-to-build-sample-robospice-sample-ormlite-content-provider-robospice