J'ai essayé de construire un code en utilisant Maven. Mais je suis coincé avec une erreur . Le code est disponible sur ce dépôt github. google-play-crawler
Mes configurations système, comme indiqué par maven, sont les suivantes:
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:28+0530)
Maven home: /Users/tushar/Downloads/Apache-maven-3.0.5
Java version: 1.6.0_65, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.9", Arch: "x86_64", family: "mac"
Voici la trace Maven pour l'erreur:
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project googleplaycrawler: Compilation failure -> [Help 1]
org.Apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.Apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project googleplaycrawler: Compilation failure
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:213)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:153)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:145)
at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:84)
at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:59)
at org.Apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.Java:183)
at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.Java:161)
at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:320)
at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
at Java.lang.reflect.Method.invoke(Method.Java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
Caused by: org.Apache.maven.plugin.compiler.CompilationFailureException: Compilation failure
at org.Apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.Java:862)
at org.Apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.Java:129)
at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:101)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:209)
... 19 more
[ERROR]
[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/MojoFailureException
Voici le pom.xml.
<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>com.akdeniz</groupId>
<artifactId>googleplaycrawler</artifactId>
<version>0.3</version>
<packaging>jar</packaging>
<name>Google Play Crawler</name>
<url>https://github.com/Akdeniz/google-play-crawler</url>
<description>Play with Google Play API :)</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.Apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.2.2</version>
</dependency>
<dependency>
<groupId>org.Apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>org.Apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>org.Apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.2.2</version>
</dependency>
<dependency>
<groupId>org.Apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-Java</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.1.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
<id>protoc-plugin</id>
<url>http://sergei-ivanov.github.com/maven-protoc-plugin/repo/releases/</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<fork>true</fork
<executable>${Java_1_7_HOME}/bin/javac</executable>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Assembly-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<goals>
<goal>attached</goal>
</goals>
<phase>package</phase>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.akdeniz.googleplaycrawler.cli.googleplay</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.protobuf.tools</groupId>
<artifactId>maven-protoc-plugin</artifactId>
<version>0.3.1</version>
<configuration>
<protocExecutable>protoc</protocExecutable>
<protoSourceRoot>${project.basedir}/src/main/protobuf/</protoSourceRoot>
<languageSpecifications>
<LanguageSpecification>
<language>Java</language>
<outputDirectory>${project.basedir}/src/main/Java</outputDirectory>
</LanguageSpecification>
</languageSpecifications>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Votre Maven lit la version de Java sous la version 1.6.0_65, où, comme le précise le pom.xml, la version est la 1.7.
Essayez d'installer la version requise.
Si déjà installé, vérifiez votre variable d’environnement $ Java_HOME, elle devrait contenir le chemin du JDK Java 7. Si vous ne le trouvez pas, corrigez votre variable d’environnement.
aussi enlever les lignes
<fork>true</fork>
<executable>${Java_1_7_HOME}/bin/javac</executable>
à partir du pom.xml
Pour ma situation, j'ai changé la valeur de "fork" à false, telle que <fork>false</fork>
. Je ne comprends pas pourquoi, j'espère que quelqu'un pourra m'expliquer. Merci d'avance.
J'avais des erreurs similaires et j'ai finalement trouvé que le nettoyage du dossier de construction avait résolu mon problème.
mvn clean install
J'ai eu le même problème. Par rapport à la version Java mentionnée dans le fichier pom.xml, la variable Java_HOME env pointait vers une version différente de jdk.
Avez-vous mis à jour Java_HOME et pom.xml
avec le même chemin d'installation jdk
Si JDK est installé mais ne fonctionne toujours pas.
Sous Eclipse, suivez les étapes ci-dessous: - Fenêtre -> Préférences -> JRE installés -> Modifiez le chemin du JRE en JDK (add).
Pour moi, j'ai changé C:\apps\Java\jdk1.8_162\bin\javac.exe en C:\apps\Java\jdk1.8_162\bin\javacpl.exe Depuis. aucun exécutable avec ce nom dans le dossier bin. Ça a marché.