Apache Maven是一个构建自动化和项目管理工具,主要用于Java项目。此标记用于与特定Maven版本无关的问题。使用gradle标签代替与Gradle相关的问题。
我有一个maven项目A。这个项目依赖于项目B,项目B又依赖于mysql-connector-java。 项目B依赖mysql-connector-java:8.0.27。然而,无论我做什么项目A...
我使用 Nexus 开源作为 Maven 3.0.3 的存储库管理器 Maven 能够创建工件 *.jar。 现在,我想知道如何将生成的工件 *.jar 推送到 nexus 存储库
我目前在一个为很多人定义规则的环境中工作。我们目前使用 Hudson 和 Artifactory,我想评估一下转向 Jenkins 和 Nexus 是否值得
maven“找不到符号”jackson2.JacksonFactory
我正在尝试通过maven访问googlesheetapi, 不幸的是我编译maven时出错 这是我的 pom 文件: 我正在尝试通过 Maven 访问 google Sheets api, 不幸的是我编译maven时出错 这是我的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>BotSheets</groupId> <artifactId>b</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>b</name> <url>http://maven.apache.org</url> <build> <plugins> <plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>BotSheets.b.GoogleSheetAPI</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit-dep</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.22.0</version> </dependency> <dependency> <groupId>com.google.oauth-client</groupId> <artifactId>google-oauth-client-jetty</artifactId> <version>1.22.0</version> </dependency> <dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-sheets</artifactId> <version>v4-rev483-1.22.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.10</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.4.0</version> </dependency> </dependencies> 我的树文件: ├── pom.xml ├── src │ ├── main │ │ └── java │ │ └── BotSheets │ │ └── b │ │ ├── client_secret.json │ │ └── GoogleSheetAPI.java │ └── test │ └── java │ └── BotSheets │ └── b │ └── AppTest.java 我的代码: package BotSheets.b; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Arrays; import java.util.List; import com.google.api.client.auth.oauth2.Credential; import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp; import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver; import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow; import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets; import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; import com.google.api.client.http.HttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.client.util.store.FileDataStoreFactory; import com.google.api.services.sheets.v4.Sheets; import com.google.api.services.sheets.v4.SheetsScopes; import com.google.api.services.sheets.v4.model.ValueRange; public class GoogleSheetAPI { /** Application name. */ private static final String APPLICATION_NAME = "Google Sheets API Java Quickstart"; /** Directory to store user credentials for this application. */ private static final java.io.File DATA_STORE_DIR = new java.io.File( System.getProperty("user.home"), ".credentials/sheets.googleapis.com-java-quickstart"); /** Global instance of the {@link FileDataStoreFactory}. */ private static FileDataStoreFactory DATA_STORE_FACTORY; /** Global instance of the JSON factory. */ private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance(); /** Global instance of the HTTP transport. */ private static HttpTransport HTTP_TRANSPORT; /** Global instance of the scopes required by this quickstart. * * If modifying these scopes, delete your previously saved credentials * at ~/.credentials/sheets.googleapis.com-java-quickstart */ private static final List<String> SCOPES = Arrays.asList(SheetsScopes.SPREADSHEETS_READONLY); static { try { HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport(); DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR); } catch (Throwable t) { t.printStackTrace(); System.exit(1); } } /** * Creates an authorized Credential object. * @return an authorized Credential object. * @throws IOException */ public static Credential authorize() throws IOException { // Load client secrets. InputStream in = GoogleSheetAPI.class.getResourceAsStream("/client_secret.json"); GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in)); // Build flow and trigger user authorization request. GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES) .setDataStoreFactory(DATA_STORE_FACTORY) .setAccessType("offline") .build(); Credential credential = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user"); System.out.println("Credentials saved to " + DATA_STORE_DIR.getAbsolutePath()); return credential; } /** * Build and return an authorized Sheets API client service. * @return an authorized Sheets API client service * @throws IOException */ public static Sheets getSheetsService() throws IOException { Credential credential = authorize(); return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential) .setApplicationName(APPLICATION_NAME) .build(); } public List<List<Object>> getSpreadSheetRecords(String spreadsheetId, String range) throws IOException { Sheets service = getSheetsService(); ValueRange response = service.spreadsheets().values() .get(spreadsheetId, range) .execute(); List<List<Object>> values = response.getValues(); if (values != null && values.size() != 0) { return values; } else { System.out.println("No data found."); return null; } } } 我很乐意提供帮助, 这就是我得到的错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project b: Compilation failure: Compilation failure: [ERROR] /home/*/eclipse-workspace/b/src/main/java/BotSheets/b/GoogleSheetAPI.java:[17,43] package com.google.api.client.json.jackson2 does not exist [ERROR] /home/*/eclipse-workspace/b/src/main/java/BotSheets/b/GoogleSheetAPI.java:[35,53] cannot find symbol [ERROR] symbol: variable JacksonFactory [ERROR] location: class BotSheets.b.GoogleSheetAPI Java版本是10.0.1 我尝试了一些东西,但没有取得很大成功。 我从 http://www.seleniumeasy.com/selenium-tutorials/read-data-from-google-spreadsheet-using-api 复制此代码 如果您使用IDE,IDE没有显示任何错误吗? 从表面上看,您没有 Jackson 2 扩展的 Maven 依赖项。尝试在maven中添加依赖。 <dependency> <groupId>com.google.http-client</groupId> <artifactId>google-http-client-jackson2</artifactId> <version></version> //Add the version you want to use. </dependency> 我也有同样的问题。我刚刚更改了版本。 google-api-client -> 版本 1.31.2
使用 BouncyCastle 将 Java 应用程序打包在单个 JAR 中
是否可以使用 BouncyCastle 作为安全提供程序将 Java 应用程序打包在单个 JAR 中? PS:我希望在不更改java安全属性的情况下运行JAR(换句话说,不添加
2.1.4 中没有 org.springframework.ws.transport.http.HttpsUrlConnectionMessageSender
我有一个使用 org.springframework.ws, 2.1.4.RELEASE 的应用程序,现在需要使用 SSL。 我希望注入 org.springframework.ws.transport.http.HttpsUrlConnectionMessageSender ...
我应该传递什么属性,这样它就不会自动尝试构建 docker 镜像
描述 我的 Dockerfile 位于项目根文件夹的 src/main/docker 中。 在 pom.xml 中,我添加了代码,仅在传递某个参数时才触发图像构建。 然而,因为...
如何将maven的antrun exec命令的输出重定向到stdout?
我使用的是 Maven 3.0.3。 我有这个 antrun 任务,它使用“exec”命令...... maven-antrun-插件 ...
与这个问题相同:类似的解决方案我想知道是否可以将 ORDER BY CASE WHEN exID = 2 THEN 0 ELSE 1 END 从 Angular 传递到 java spring 或要订购的变量...
我使用 Maven 作为构建工具。我设置了一个名为 env 的环境变量。如何获取 pom.xml 文件中该环境变量的值?
Java 项目中不满足 JasperReports (6.20.1) 依赖关系:无法找到 com.github.librepdf:openpdf:jar:1.3.30.jaspersoft.1
当尝试导入 Java Spring Maven 项目以在 IntelliJ IDEA 中生成 Jasper 报告时,我们收到以下错误: 找不到 com.github.librepdf:openpdf:jar:1.3.30.jaspersoft.1 W...
我正在 Azure DevOps 中处理 Maven 任务,我需要引用 settings.xml 文件。我之前将 settings.xml 添加为库中的变量,但由于我锁定了该变量,所以它......
如何修复 liquibase 的给定数据库 URL 可能存在错误的驱动程序
我有一个 jhipster 生成的数据库,我尝试在其中运行以下命令: mvn liquibase:diff 但现在我收到以下错误: 无法执行目标 org.liquibase:liquibase-maven-
我是 intellij、Java 项目和 Maven 的新手。我以为我已经完成了使用 Maven 导入依赖项的所有步骤,但仍然出现错误。在其他情况下,导入 tech.tablesaw 很...
我正在尝试调试使用 maven 构建的 REST API,但是,每当我停止调试器时,它都会显示一条消息: 与目标虚拟机断开连接,地址:'127.0.0.1:50047',传输:'socke...
使用maven构建Spring Boot Docker镜像:指定JRE镜像
我们使用私有nexus存储库来存储docker镜像。 我们在那里托管我们选择的 JVM,我们在 Dockerfile 中指定它: 来自 docker-nexus.mycompany.tools/eclipse-temurin:17-jdk-alpine 我尝试...
我正在从 eclipse 过渡到 intellij,并且像一些(http://devnet.jetbrains.com/thread/452846)一样,我想要一个与 eclipse 的 ${project_loc} 相当的变量。看到一些回复...
Spring Boot 3.2.2 与 Couchbase Java Client 2.7 - 建立连接然后断开连接
我正在开发 Spring Boot 应用程序(版本 3.2.2),并尝试使用 Couchbase Java 客户端(版本 2.7)连接到 Couchbase。但是,我遇到了连接问题...
从 Maven 库的 sonatype API 获取最新版本号
我是向 Maven Central 存储库发布库的新手。我已使用以下配置将库推送到 Maven Central ossrh 我是向 Maven Central 存储库发布库的新手。我已使用以下配置将库推送到 Maven Central <repository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url> </repository> 该库已上传到 maven Central,我也可以访问它。这是链接https://search.maven.org/search?q=g:com.github.roneetshaw 现在我的下一步是从 maven/sonatype 获取 API,其响应应该是 Maven 上存在的最新版本,就像 bintray 那样 https://api.bintray.com/search/packages/maven?repo=fnproject&g=com .fnproject.fn&a=fdk(示例)。我不确定是否有任何 API 可以提供 sonatype 的最新版本的库。 如果存在 API,请帮忙,我尝试了多个文档,但似乎没有任何对我有用 检查这是否有效!在我的一个 POC 中,我编写了此代码片段并正在工作,但是,请查看此线程以获取有关 Maven 中心公开的端点的更多信息 如何从应用程序查询Maven存储库以获取元数据 def get_first_version(group_id, artifact_id): url = f"https://search.maven.org/solrsearch/select?q=g:{group_id}+AND+a:{artifact_id}&core=gav&rows=20&wt=json" print('Performing API request for following URL ' + url) response = requests.get(url,verify=False) print("API request complete "+str(response)) if response.status_code == 200: data = response.json() docs = data.get('response', {}).get('docs', []) if docs: first_version = docs[0].get('v') return first_version return None
Java:Maven 在编译后的 jar 中的 pom.xml 中设置的系统属性存储在哪里?
我们在 pom.xml 中的 Maven 编译器插件定义中指定了一堆系统属性: org.apache....