Frage ActionBarSherlock + maven + eclipse: Abhängigkeit nicht im Arbeitsbereich gefunden


Ich habe auf die neueste Version von ADT Plugin aktualisiert und ich konfrontiert dieses Problem, gelöst Update auch m2e-android eclipse plugin. Jetzt kann ich mein Projekt über die Konsole kompilieren, aber nicht mit Eclipse. Dies ist die Ausnahme von pom.xml Datei in Eclipse:

dependency=[com.actionbarsherlock:library:apklib:4.1.0:compile] not found in workspace

In früheren Versionen von ADT / m2e-android konnte ich sowohl Konsole als auch Eclipse ohne Probleme bauen.

Weiß jemand, wie man das löst? Vielleicht ist meine pom.xml falsch?

Vielen Dank für Ihre Zeit.


Derzeit verwenden:

  • Eclipse classic 3.7.2 (mit Juno bleibt das Problem bestehen)
  • ADT 20.0.3
  • m2e-android 0.42
  • android-maven-plugin 3.3.0
  • maven 3.0.4
  • m2e 1.1.0 (als Abhängigkeit in m2e-android 0.42 enthalten)

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.jelies</groupId>
    <artifactId>my-project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>apk</packaging>

    <dependencies>
        <dependency>
            <groupId>android</groupId>
            <artifactId>android</artifactId>
            <version>4.1_r2</version>
            <scope>provided</scope>
        </dependency>

        <!-- some unrelated dependencies -->

        <dependency>
            <groupId>com.actionbarsherlock</groupId>
            <artifactId>library</artifactId>
            <version>4.1.0</version>
            <type>apklib</type>
        </dependency>

    </dependencies>

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.1.2</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <sdk>
                        <platform>16</platform>
                    </sdk>
                    <emulator>
                        <avd>avd-4.1</avd>
                    </emulator>
                    <deleteConflictingFiles>true</deleteConflictingFiles>
                    <undeployBeforeDeploy>true</undeployBeforeDeploy>
                </configuration>
                <extensions>true</extensions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>eclipse</id>
            <activation>
                <!-- This profile is only activated when m2e.version is present (only 
                    in eclipse) -->
                <property>
                    <name>m2e.version</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.google.android</groupId>
                    <artifactId>support-v4</artifactId>
                    <version>r7</version>
                    <scope>provided</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
</project>

BEARBEITEN:

Die Antwort ist richtig. Wenn das ABS-Bibliotheksprojekt in meinem Arbeitsbereich aktiviert ist, ist der Fehler weg! Aber ein anderes Problem tauchte auf: ABS transitive Abhängigkeiten werden meinem Projekt hinzugefügt, was dazu führt, dass Eclipse die Anwendung nicht starten kann. Dies ist ein bekanntes Problem, dem Sie folgen können Hier.


18
2017-08-20 18:43


Ursprung


Antworten:


Ab Android 0.4.2 müssen Sie nun die Android-Bibliotheksprojekte in Ihrem Eclipse-Arbeitsbereich mavenisieren, damit m2e-android sie erfolgreich erkennt. Das POM für ActionBarSherlock finden Sie hier:

https://github.com/JakeWharton/ActionBarSherlock/blob/master/library/pom.xml#

Hinweis: m2e-android ist Beta-Software und daher können Änderungen, die die Funktionalität beeinträchtigen können, zwischen den Versionen auftreten.


10
2017-08-21 07:28



Für diejenigen, die nicht wissen, was "MAVENIZED" bedeutet, ist es ein einfaches Projekt zu einem Maven Project zu machen.

Klicken Sie in Eclipse mit der rechten Maustaste in Ihr Projekt, Konfigurieren -> In Maven-Projekt konvertieren


2
2017-10-25 20:31



Sie können die ActionBarsherlock-Abhängigkeit nur als JAR-Datei einschließen, wenn Sie Eclipse-Profile verwenden

<profile>
  <id>m2e</id>
  <activation>
    <property><name>m2e.version</name></property>
   </activation>
   <dependencies>
    <dependency>
      <groupId>com.actionbarsherlock</groupId>
      <artifactId>actionbarsherlock</artifactId>
      <version>${abs.version}</version>
      <type>jar</type>
    </dependency>
  </dependencies>
</profile> 

und müssen nicht den gesamten actionbarsherlock als Projekt in Eclipse einschließen


1
2017-11-30 21:16



Fügen Sie dies Ihrer übergeordneten pom.xml-Datei als Abhängigkeit hinzu:

<dependency>
  <groupId>com.actionbarsherlock</groupId>
  <artifactId>actionbarsherlock</artifactId>
  <type>apklib</type>
  <version>4.2.0</version>
</dependency>

Und die folgenden Zeilen zu Ihrem Projekt pom.xml:

<dependency>
    <groupId>com.actionbarsherlock</groupId>
    <artifactId>actionbarsherlock</artifactId>
    <version>4.2.0</version>
</dependency>

1
2018-02-13 13:02



Ich habe ein detailliertes Tutorial über die Integration von mvn + eclipse + action bar sherlock geschrieben http://v.zasadnyy.com/blog/abs-maven-eclipse-integration/

Ich hoffe, es wird hilfreich sein.


1
2017-12-14 09:06