Maven использование Google api
Я использую API java календаря google для проекта.
календарная часть в порядке, maven, похоже, загружает ее и использует без каких-либо хлопот.
моя проблема исходит из основной зависимости этого lib: com.гуглить.прикладной программный интерфейс.api клиента.
в частности, когда я следую инструкциям, подробным в на этой странице, maven не может правильно скомпилировать мой проект:
package com.google.api.client.extensions.java6.auth.oauth2 does not exist
package com.google.api.client.extensions.jetty.auth.oauth2 does not exist
package com.google.api.client.json.jackson2 does not exist
ему не хватает нескольких классов и, таким образом, он не может скомпилировать файл хотя, когда я загружаю zip и добавляю.jar вручную без использования maven работает нормально.
это первый проект, который я управляю с maven и не знаю, как идти оттуда. Указатели будут оценены.
редактировать запрос post - - - вот мой POM
<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>fr.univnantes.atal.atcal</groupId>
<artifactId>AtCal</artifactId>
<version>0.1</version>
<packaging>jar</packaging>
<name>AtCal</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<repository>
<id>google-api-services</id>
<url>http://google-api-client-libraries.appspot.com/mavenrepo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.12.0-beta</version>
</dependency>
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-calendar</artifactId>
<version>v3-rev20-1.12.0-beta</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<!-- best lock down version of the plugin too -->
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Я в основном добавил две зависимости: календарь и клиент api. Это был упомянутый шаг, чтобы заставить вещи работать на doc.
3 ответов
кажется, что вроде бы очень бета-иш google-api-services-calendar:v3-rev20-1.12.0-beta
еще не нажата в репозиторий sontaype, но если вы попытаетесь включить как рекомендуемое РЕПО, так и упомянутое в API календаря в свой POM:
<repositories>
<repository>
<id>google-api-services</id>
<url>https://oss.sonatype.org/content/repositories/releases/</url>
</repository>
<repository>
<id>google-api-services-beta</id>
<url>http://google-api-client-libraries.appspot.com/mavenrepo</url>
</repository>
</repositories>
кроме того, необходимы следующие дополнительные зависимости:
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-java6</artifactId>
<version>1.12.0-beta</version>
</dependency>
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client-jetty</artifactId>
<version>1.12.0-beta</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.12.0-beta</version>
</dependency>
надеюсь, что это поможет.
У меня было приключение с Google custom search api. Большая часть проблемы была связана с недоступностью mvn repo http://google-api-client-libraries.appspot.com/mavenrepo.
пользовательский поиск jar я взял из:
<repository>
<id>google-api-services</id>
<url>http://mavenrepo.google-api-java-client.googlecode.com/hg</url>
</repository>
Он был в pom внутри банки, загруженной вручную. Новые google-api-клиент и google-http-клиент-Джексон (в 1.13.2-beta JacksonFactory является дополнительной зависимостью) были в Центральном maven РЕПО.
несколько месяцев назад Google начал подталкивать библиотеки к РЕПО Sonatype. Вы больше не должны включать запись репозитория в свой pom.xml, указывающий на google-api-client-libraries.appspot.com/mavenrepo
или mavenrepo.google-api-java-client.googlecode.com
Это замедляет ваши сборки, потому что вы в конечном итоге проверяете все зависимости (даже не Google) в этом репозитории. Эти проверки 404, затем вы проверяете главный репозиторий.