2013-03-27 75 views
1

我刚开始将我的Android项目转换为Maven。
我想在我的的pom.xml使用properties但我得到的错误:Maven:无法解析pom.xml中的属性

Dependency com.google.android:android${android.version} not found

我也越来越为其他性质相同的错误,除了${junit.version}
下面是我的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> 

<parent> 
    <groupId>org.sonatype.oss</groupId> 
    <artifactId>oss-parent</artifactId> 
    <version>7</version> 
</parent> 

<groupId>com.myproject.app</groupId> 
<artifactId>parent</artifactId> 
<packaging>pom</packaging> 
<version>1.0</version> 

<modules> 
    <module>myapp</module> 
    <module>mytests</module> 
</modules> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 

    <java.version>1.6</java.version> 
    <abs.version>4.2.0</abs.version> 
    <noa.version>2.4.0</noa.version> 
    <junit.version>4.8.1</junit.version> 
    <android.version>4.1.1.4</android.version> 
    <android-support.version>r12</android-support.version> 
    <android.sdk.platform>16</android.sdk.platform> 
</properties> 


<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>${android.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>support-v4</artifactId> 
      <version>${android-support.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.nineoldandroids</groupId> 
      <artifactId>library</artifactId> 
      <version>${noa.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>${junit.version}</version> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5</version> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>3.3.2</version> 
       <configuration> 
        <sdk> 
         <platform>${android.platform}</platform> 
        </sdk> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-javadoc-plugin</artifactId> 
       <version>2.8</version> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-checkstyle-plugin</artifactId> 
       <version>2.9.1</version> 
       <configuration> 
        <failsOnError>true</failsOnError> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-site-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <skip>true</skip> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-release-plugin</artifactId> 
      <version>2.2.2</version> 
      <configuration> 
       <autoVersionSubmodules>true</autoVersionSubmodules> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>com.github.github</groupId> 
      <artifactId>site-maven-plugin</artifactId> 
      <version>0.5</version> 
      <executions> 
       <execution> 
        <phase>site</phase> 
        <goals> 
         <goal>site</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <message>Creating site for ${project.version}.</message> 
       <outputDirectory>website</outputDirectory> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

回答

1

它获取的依赖关系对我蛮好。我建议检查的几件事情:

  • 运行mvn -X compile获得哪些镜正在使用
  • 检查你的Maven settings.xml看到你正在使用
  • 确认没有防火墙阻止访问这反映的更多信息到库
+0

我觉得我的pom.xml在很大程度上打破了。除了Sonatype的(http://www.sonatype.com/books/mvnref-book/reference/android-dev.html),如何开始使用Maven或Maven的任何资源建议? – dannyroa 2013-03-27 19:14:36

+0

我建议阅读通用的Maven指南,如http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html,不限于Android项目。 – 2013-03-27 20:31:26

1

我建议创建androidKickstartR(http://androidkickstartr.com/)一款Android Maven项目和coppy pom.xml中到自己的项目,你可以把它编辑您的需求。

当准备建立一个与项目:

mvn clean install android:deploy 
相关问题