0

j'utilise IntelliJ IDE et a essayé https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/vision/labelvision google api a échoué dans les importations IntelliJ

mon pom.xml montre aucune erreur et ressemble ci-dessous:

<?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/xsd/maven-4.0.0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHpOT</version> 
    <groupId>com.example.endpoints</groupId> 
    <artifactId>endpoints</artifactId> 

    <parent> 
    <artifactId>doc-samples</artifactId> 
    <groupId>com.google.cloud</groupId> 
    <version>1.0.0</version> 
    <relativePath>../..</relativePath> 
    </parent> 

    <properties> 
    <maven.compiler.target>1.8</maven.compiler.target> 
    <maven.compiler.source>1.8</maven.compiler.source> 

    <maven.war.plugin>2.6</maven.war.plugin> 

    <appengine.maven.plugin>1.0.0</appengine.maven.plugin> 
    <jetty.maven.plugin>9.3.8.v20160314</jetty.maven.plugin> 

    <failOnMissingWebXml>false</failOnMissingWebXml> <!-- REQUIRED --> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>com.google.apis</groupId> 
     <artifactId>google-api-services-vision</artifactId> 
     <version>v1-rev347-1.22.0</version> 
    </dependency> 
     <dependency> 
      <groupId>com.google.api-client</groupId> 
      <artifactId>google-api-client</artifactId> 
      <version>1.22.0</version> 
      <exclusions> 
       <exclusion> <!-- exclude an old version of Guava --> 
        <groupId>com.google.guava</groupId> 
        <artifactId>guava-jdk5</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>com.google.guava</groupId> 
      <artifactId>guava</artifactId> 
      <version>20.0</version> 
     </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <type>jar</type> 
     <scope>provided</scope> 
    </dependency> 
    <!-- Gson: Java to Json conversion --> 
    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.6.2</version> 
     <scope>compile</scope> 
    </dependency> 
    </dependencies> 

    <build> 
    <!-- for hot reload of the web application --> 
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory> 
    <plugins> 
     <plugin> <!-- TEMPORARY --> 
     <groupId>com.google.appengine</groupId> 
     <artifactId>gcloud-maven-plugin</artifactId> 
     <version>2.0.9.121.v20160815</version> 
     </plugin> 
     <plugin> 
     <groupId>com.google.cloud.tools</groupId> 
     <artifactId>appengine-maven-plugin</artifactId> 
     <version>${appengine.maven.plugin}</version> 
     <configuration> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>${maven.war.plugin}</version> 
     <configuration> 
      <failOnMissingWebXml>false</failOnMissingWebXml> 
     </configuration> 
     </plugin> 
     <plugin> 
     <groupId>org.eclipse.jetty</groupId> 
     <artifactId>jetty-maven-plugin</artifactId> 
     <version>${jetty.maven.plugin}</version> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

Cependant, la classe java ne parvient pas à résoudre les dépendances pour

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; 
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; 
import com.google.api.client.json.JsonFactory; 
import com.google.api.client.json.jackson2.JacksonFactory; 
import com.google.api.services.vision.v1.Vision; 
import com.google.api.services.vision.v1.VisionScopes; 
import com.google.api.services.vision.v1.model.AnnotateImageRequest; 
import com.google.api.services.vision.v1.model.AnnotateImageResponse; 
import com.google.api.services.vision.v1.model.BatchAnnotateImagesRequest; 
import com.google.api.services.vision.v1.model.BatchAnnotateImagesResponse; 
import com.google.api.services.vision.v1.model.EntityAnnotation; 
import com.google.api.services.vision.v1.model.Feature; 
import com.google.api.services.vision.v1.model.Image; 
import com.google.common.collect.ImmutableList; 

j'ai essayé mvn -U installation propre

mais pas de chance

+0

Veuillez attacher les bûches "mvn clean install -X". –

+0

Le projet est-il construit à partir de la ligne de commande? Si c'est le cas, reportez-vous à [cette réponse] (http://stackoverflow.com/a/42427510/104891) pour les diagnostics. – CrazyCoder

+0

Avez-vous essayé le projet cloud-client: https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/vision/cloud-client – class

Répondre

1

Depuis que vous utilisez l'environnement Flex. Je suggère ce qui suit

(1) Suivre la Quickstart pour Flex en Java pour vous assurer que vous êtes correctement configuré: https://cloud.google.com/appengine/docs/flexible/java/quickstart

  • premier test localement (en utilisant la jetée, comme le montre QuickStart)
  • Déployez App Engine Flex plus tard si vous souhaitez

(2) ensuite, une fois que vous savez tout fonctionne (au moins localement avec le serveur de la jetée), vous pouvez ajouter à votre pom.xml les éléments suivants

<dependency> 
    <groupId>com.google.cloud</groupId> 
    <artifactId>google-cloud-vision</artifactId> 
    <version>0.9.4-beta</version> 
</dependency> 

Cela vient de cette page: https://cloud.google.com/vision/docs/reference/libraries#client-libraries-install-java

où vous trouverez également un exemple de code.

(3) BTW: pour Auth, je suggère de configurer un compte de service localement sur votre machine. Pour cela, vous devez créer un compte de service dans la console Cloud, puis télécharger un fichier .json localement, puis configurer la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS pour qu'elle pointe vers ce fichier .json.