pom.xml 相关问题

项目对象模型或POM是Maven的基本工作单元。

类文件版本错误61.0,应该是52.0

我想在 Intellij Idea 上创建一个 Spring Boot 项目,我选择 Java 8 和 Java 1.8 sdk,但是当我打开 pom.xml 时,我看到我的 java 版本是 17!?怎么可能? 当我运行我的项目时我...

回答 2 投票 0

java.lang.AbstractMethodError:接收器类io.cucumber.testng

当我尝试在 Selenium Cucumber 自动化中运行 runner 类时,出现“java.lang.AbstractMethodError:Receiver class io.cucumber.testng”。 错误日志截图 请在下面找到 pom.x...

回答 1 投票 0

Pom类型导入的依赖没有版本就无法使用

我有一个包含两个模块的项目。核心模块在pom中有以下内容: 项目.X 我有一个包含两个模块的项目。核心模块在pom中有以下内容: <dependencyManagement> <dependencies> <dependency> <groupId>project.X</groupId> <artifactId>project_X</artifactId> <version>42</version> <type>pom</type> </dependency> </dependencies> </dependencyManagement> 对没有范围导入声明的 pom 的依赖 同一项目的第二个模块具有以下内容: <dependencies> <dependency> <groupId>project.X</groupId> <artifactId>project_X</artifactId> <type>pom</type> </dependency> </dependencies> 所有这些都工作正常,但是如果我像这样将 import 放入核心 pom 中: <dependencyManagement> <dependencies> <dependency> <groupId>project.X</groupId> <artifactId>project_X</artifactId> <version>42</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> 那么第二个模块将无法编译,因为依赖项没有声明版本。但是,据我了解,它应该在根模块中使用范围导入进行编译,并且不应该编译,反之亦然。 有人知道这种行为的原因吗? 谢谢。 有人知道这种行为的原因吗? 这就是 15 年前实现该功能的方式: @SuppressWarnings("checkstyle:methodlength") private void importDependencyManagement( Model model, ModelBuildingRequest request, DefaultModelProblemCollector problems, Collection<String> importIds) { DependencyManagement depMgmt = model.getDependencyManagement(); if (depMgmt == null) { return; } String importing = model.getGroupId() + ':' + model.getArtifactId() + ':' + model.getVersion(); importIds.add(importing); final WorkspaceModelResolver workspaceResolver = request.getWorkspaceModelResolver(); final ModelResolver modelResolver = request.getModelResolver(); ModelBuildingRequest importRequest = null; List<DependencyManagement> importMgmts = null; for (Iterator<Dependency> it = depMgmt.getDependencies().iterator(); it.hasNext(); ) { Dependency dependency = it.next(); if (!"pom".equals(dependency.getType()) || !"import".equals(dependency.getScope())) { continue; } // // Here it removes managed dependency on pom // it.remove(); String groupId = dependency.getGroupId(); String artifactId = dependency.getArtifactId(); String version = dependency.getVersion(); 而且我确实相信当前的实现与文档同步: 导入在用于定义通常属于多项目构建一部分的相关工件的“库”时最为有效。一个项目使用这些库中的一个或多个工件是相当常见的。然而,有时很难使使用工件的项目中的版本与库中分发的版本保持同步。下面的模式说明了如何创建“物料清单”(BOM) 以供其他项目使用。 项目的根是BOM POM。 它定义了将在库中创建的所有工件的版本。希望使用该库的其他项目应将此 POM 导入其 POM 的 dependencyManagement 部分 由于您不应该在 BOM 中定义依赖项(仅版本),因此定义对 BOM 的依赖项没有任何意义。

回答 1 投票 0

maven 使用父 dependencyManagement 和 ${project.version} 导致依赖版本错误

我有以下结构和以下依赖项:child1->child2。 以及两者的父级,它使用 ${project.version} 合并依赖管理中的所有版本。 文件夹结构...

回答 2 投票 0

项目'org.springframework.boot:spring-boot-starter-parent:2.4.0'找不到

我正在遵循本指南:https://spring.io/guides/gs/serving-web-content/, 我正在遵循本指南:https://spring.io/guides/gs/serving-web-content/, <?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.0</version> <relativePath/> </parent> <groupId>org.example</groupId> <artifactId>plats-bruts</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 但我在 pom 上遇到这个问题: Project 'org.springframework.boot:spring-boot-starter-parent:2.4.0' not found 但它在这里https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent/2.4.0 我刚刚遇到了类似的问题。我正在使用 IntelliJ IDEA Ultimate 2020.2。版本号2.4.0是红色的,消息和你的一样。 选择“文件”->“使缓存无效/重新启动...”并选择“无效并重新启动”选项解决了该问题。我猜这只是一个陈旧的缓存。 Spring Boot 的起始父 pom 当然确实存在于 Maven Central。 我复制了你的 pom.xml 并使用 Maven 3.6.3 运行 mvn test。所有必需的库,包括父 pom 都下载得很好。您可能需要查看您的 ~/.m2/settings.xml 文件,看看是否有任何处于活动状态的代理阻止您连接到 Maven Central。 对我有用的是重建和远程缓存,然后是本地缓存。以下是我遵循的步骤(在 Mac 上,请翻译到您的目标环境): 转到首选项菜单:即:IntelliJ IDEA > 首选项 在“构建工具”下:即:“构建、执行、部署”> 构建工具 选择存储库:即:Maven > 存储库 注意远程和本地存储库,以及更新按钮 选择每个存储库并单击更新。这将需要一段时间,具体取决于您的互联网速度,但它将对损坏的下载和过时的 Maven 缓存进行完整检查 就我而言,mvn clean和mvn package帮助我解决了同样的问题。 只需在 IDE 中重新加载 Maven 项目即可。会起作用的。 可能您正在尝试直接运行mvn spring-boot:run。 您可以使用包装器代替 cf。 ./mvnw spring-boot:run 这应该可以解决您的问题。 我使用的是 IntelliJ IDEA Ultimate 2021.1.1。 Spring Boot的版本号为2.5.4。 简短回答:仔细检查您的互联网提供商是否被错误地阻止了 maven repohttps://repo.maven.apache.org/maven2/ 站点。 我也遇到这个问题了。对于我的情况,我尝试了一切,比如使缓存无效并重新启动 Intellij,重新导入 Maven 依赖项。但这些对我不起作用。 当我尝试使用我的移动数据重新导入 Maven 依赖项时,一切正常。所以,我的互联网提供商有问题。 我通知他们后,我的问题就解决了。谢谢 由于版本不兼容,我遇到了同样的问题 将版本 spring-boot-starter-parent 3.1.5 更改为 3.1.1 后问题解决了

回答 9 投票 0

运行 mvn clean install 后没有生成目标文件夹

运行 mvn clean install 后我无法看到目标文件夹 这是我的父 pom.Traget 文件夹在文件夹结构中丢失。构建消息虽然成功 运行 mvn clean install 后我无法看到目标文件夹 这是我的父 pom.Traget 文件夹在文件夹结构中丢失。不过构建消息成功了 <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>abc.def.ghi.jkl.ABCservice</groupId> <artifactId>abc-def-service</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Abc Def Service</name> <description>Abc Def Service</description> <packaging>pom</packaging> <properties> <java.version>11</java.version> <flyway.version>6.4.4</flyway.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <inherited>false</inherited> <configuration> <configFiles>${project.basedir}/../flyway/flyway.conf</configFiles> </configuration> <dependencies> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>7.4.1.jre8</version> </dependency> </dependencies> </plugin> </plugins> </build> </project> 下面是我的子 pom,我想创建 jar 文件以在我的 Docker 映像构建中使用。不知怎的,目标文件夹没有被创建 <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>abc.def.ghi.jkl.app</groupId> <artifactId>abc-def-service</artifactId> <relativePath>../../pom.xml</relativePath> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>abc-def-application</artifactId> <name>abc-def-application</name> <properties> <java.version>11</java.version> <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>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.6.3</version> <configuration> <mainClass>abc.def.ghi.MainApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> 在父pom中,我使用的是pom,不应该使用它。它应该是 jar 或根本不应该指定。 https://github.com/eugenp/tutorials/issues/2414 我正在使用, <packaging>pom</packaging> 在 pom.xml 中。所以基本上它说明了您想要如何生成捆绑包。所以将其配置为<packaging>jar</packaging>。它将创建目标。

回答 2 投票 0

Spring 应用程序未运行

我正在尝试运行一个简单的 Spring Boot 应用程序。它只有 web 作为依赖项。当我运行命令 clean install 时,它构建成功。但是 spring-boot 运行失败。我无法弄清楚...

回答 1 投票 0

如何部署到Maven Central?

我正在尝试将我的项目部署到 Maven Central 中。 我已经通过自制程序安装了 GnuPg: 酿造安装gnupg 所以执行时 gpg --版本 返回以下内容: gpg (GnuPG) 2.4.3 libgcry...

回答 1 投票 0

Maven 在现有目录中生成 achetype

我正在尝试使用现有目录创建空的 Maven Web 项目(实际上来自 github 项目,它是空的,仅包含 README 文件)。 但是maven似乎检测到目录存在并且失败了......

回答 4 投票 0

由于 API 不兼容,无法加载插件 'org.apache.maven.plugins:maven-war-plugin:2.2' 中的 mojo 'war'

我正在尝试构建我的办公室项目,我已从 java 11 升级到 17。 我已经根据兼容的java版本更新了我的maven,并在其余部分获得了很多帮助之后...

回答 1 投票 0

如何配置 pom.xml 文件以使用 Nexus 存储库管理器

我正在使用Redhat,java 1.7,maven 3.2.5,jenkins 1.6,git版本2.0.5和nexus-2.12.0-01 我为我的内部开发创建了一个本地 Nexus 存储库。 现在我想做的是...

回答 3 投票 0

IntelliJ 找不到 maven-war-plugin

它在 pom 中给了我这个错误 该插件在 m2 文件夹中正确可用 其他库也得到了很好的认可,并且该插件在服务器中可用...... 我尝试过无效并重新...

回答 1 投票 0

易受攻击的依赖项 maven:org.yaml:snakeyaml

我会定期检查 pom.xml 上的漏洞,并且通常通过更新依赖项版本来修复这些问题。但是,我收到以下错误: 提供传递脆弱性

回答 6 投票 0

使用 JPARepository 的 Spring 应用程序需要 bean

我在 bean 实例化方面遇到问题。 table.football.play.service.impl.PlayerServiceImpl 中构造函数的参数 0 需要类型为“table.football.play.repository.PlayerRepository”的 bean ...

回答 1 投票 0

运行javafx应用程序 - 启动层初始化期间发生错误:java.lang.module.ResolutionException

正如标题所说,我只是想运行javafx应用程序。但是我不知道为什么会收到此错误,并且我不知道为什么错误引用 sisu.inject.bean 和 aopalliance

回答 2 投票 0

Spring Boot 不支持请求方法“POST”

简单的 Spring Boot POST 请求不起作用并返回: “不支持请求方法‘POST’”错误消息。 代码本身对我来说看起来不错,但我对 pom.xml 不太确定。 如果有问题

回答 4 投票 0

mvn 无法集成依赖

我有一个使用fasterxml/jackson-databind的最小maven项目 包 com.mycompany.app; 导入 com.fasterxml.jackson.databind.ObjectMapper; 类 MyValue { 公共字符串名称;公共整数年龄; }

回答 2 投票 0

当我的存储库不公开时,如何在 pom.xml 中为 Maven 设置 SCM?

我正在开发一个位于私人公司 GitLab 存储库中的 Java 库。它是供客户使用的 SDK 的一部分。我正在尝试弄清楚如何将其发布到 Maven Central,但我陷入了困境......

回答 1 投票 0

无法解决 JADE 依赖性

我正在尝试将 JADE 添加为 Maven 依赖项。 我添加了存储库和属性。 提拉布 https://玉....

回答 2 投票 0

Maven 项目构建过程中出现“No file in /home/runner/work/...matched to [**/pom.xml]”错误

我创建了一个基于 Maven 构建的测试自动化框架,并已将其推送到我的 GitHub 存储库中的“开发”分支。 每次创建 PR 时都需要构建我的项目。所以我创建了一个构建......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.