2015-07-03 3 views
0

Я начал проект Android, и по умолчанию он построен с ANT, я пытаюсь обновить его до Maven, чтобы я мог избавиться от проблем времени компиляции, которые у меня есть с Android SDK , и легкость импорта и управления библиотекой. Проблемы, с которыми я столкнулся, это:Maven: Миграция Android-проекта от Ant до Maven

1) Как изменить build.xml, чтобы указать ему использовать maven. 2) Неправильная структура папок Maven.

Вот мой build.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="myapp" default="help"> 
<property file="local.properties"/> 
    <property file="ant.properties"/> 
<property environment="env"/> 
    <condition property="sdk.dir" value="${env.ANDROID_HOME}"> 
     <isset property="env.ANDROID_HOME"/> 
    </condition> 
// and more 

Так что я предполагаю, что я должен изменить ant.properties атрибут, как я могу предложить использовать Maven ??

Вот pom.xml я вставил в каталог Родитель проекта, но когда я пытаюсь запустить MVN компиляции, я получаю следующее сообщение об ошибке:

Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:4.0.0-rc.2:generate-sources (default-generate-sources) on project gs-maven-android: 
[ERROR] 
[ERROR] Found files or folders in non-standard locations in the project! 
[ERROR] ....This might be a side-effect of a migration to Android Maven Plugin 4+. 
[ERROR] ....Please observe the warnings for specific files and folders above. 
[ERROR] ....Ideally you should restructure your project. 
[ERROR] ....Alternatively add explicit configuration overrides for files or folders. 
[ERROR] ....Finally you could set failOnNonStandardStructure to false, potentially resulting in other failures. 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

И, наконец, вот 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>org.hello</groupId> 
    <artifactId>MyAPP</artifactId> 
    <version>1.0</version> 
    <packaging>apk</packaging> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>4.1.1.4</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>4.0.0-rc.2</version> 
       <configuration> 
        <sdk> 
         <platform>20</platform> 
        </sdk> 
        <undeployBeforeDeploy>true</undeployBeforeDeploy> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

Так что я делаю неправильно здесь? Любая помощь будет приятной. Я использую Intellij Idea на Ubuntu Linux. Благодарю.

ответ

0

Обновите версию до полной версии, а затем обновите сообщение об ошибке в сообщении. Последняя версия - 4.3.0.

Предупреждение об исходном коде и других источниках, находящихся в нестандартных папках. Вы должны использовать стандартную структуру. В полной версии появится сообщение об ошибке с подробностями, где все должно быть.

Смежные вопросы