maven 相关问题

Apache Maven是一个构建自动化和项目管理工具,主要用于Java项目。此标记用于与特定Maven版本无关的问题。使用gradle标签代替与Gradle相关的问题。

如何向父POM添加<relative />标签?

在 OpenRewrite 中,您可以像这样向 POM 添加注释。您可以像这样替换依赖项。但是如何将元素添加到 XML 元素,例如: abc 在 OpenRewrite 中,您可以向 POM 添加注释,例如 this。您可以替换像 this 这样的依赖项。但是如何将元素添加到 XML 元素,例如: <parent> <groupId>abc</groupId> <artifactId>def</artifactId> <version>123</version> </parent> 添加<relativePath>: <parent> <groupId>abc</groupId> <artifactId>def</artifactId> <version>123</version> <relativePath>./</relativePath> </parent> 这可能吗? 您可以使用 AddOrUpdateChildTag 配方将标签添加到特定路径: https://docs.openrewrite.org/recipes/xml/addorupdatechildtag type: specs.openrewrite.org/v1beta/recipe name: com.yourorg.AddOrUpdateChildTagExample displayName: Add or update child tag example recipeList: - org.openrewrite.xml.AddOrUpdateChildTag: parentXPath: /project//plugin//configuration newChildTag: <skip>true</skip> 也就是说,我确实同意 Karl Heinz 对在上面的评论中添加 <relativePath>./</relativePath> 的担忧,因此最好澄清一下您是否打算添加例如 <relativePath>../</relativePath>,或 <relativePath/>。

回答 1 投票 0

更改Application.properties后Flyway破坏应用程序?

我的项目中有一些 application.properties ,曾经是这样的代码: 春天: 应用: 名称:MyCrudProject 数据源: 驱动程序类名称:com.microsoft.sqlserver.jdbc。

回答 1 投票 0

GitLab CICD 作业:无法提交文件,git-push 命令失败

我正在尝试在 GitLab 上运行一个 CICD 作业,在执行此作业时出现此错误。 它明确表示它无法读取密码,但我不确定它是从哪里读取密码的? ...

回答 1 投票 0

带有工具链的Maven exec插件无法启用预览功能

我想尝尝最新的Java 19功能,也不要更改默认的Java Home(Java 17)。 所以我在~/.m2中创建一个toolchains.xml,并像这样定义一个jdk类型的工具链。 我想尝尝最新的Java 19功能,也不要更改默认的Java Home(Java 17)。 所以我在~/.m2中创建了一个toolchains.xml,并像这样定义了一个jdk类型的工具链。 <?xml version="1.0" encoding="UTF-8"?> <toolchains> <!-- JDK toolchains --> <toolchain> <type>jdk</type> <provides> <version>1.8</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>D:/jdks/jdk8</jdkHome> </configuration> </toolchain> <toolchain> <type>jdk</type> <provides> <version>11</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>D:/jdks/jdk11</jdkHome> </configuration> </toolchain> <toolchain> <type>jdk</type> <provides> <version>17</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>D:/jdks/jdk17</jdkHome> </configuration> </toolchain> <toolchain> <type>jdk</type> <provides> <version>19</version> <vendor>oracle</vendor> </provides> <configuration> <jdkHome>D:/jdks/jdk-19</jdkHome> </configuration> </toolchain> <!-- other toolchains --> <toolchain> <type>netbeans</type> <provides> <version>15</version> </provides> <configuration> <installDir>D:/devtools/netbeans</installDir> </configuration> </toolchain> </toolchains> 然后我在我的项目 POM 中添加了以下插件。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.10.1</version> <configuration> <compilerArgs> <arg>--enable-preview</arg> </compilerArgs> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-toolchains-plugin</artifactId> <version>1.1</version> <executions> <execution> <goals> <goal>toolchain</goal> </goals> </execution> </executions> <configuration> <toolchains> <jdk> <version>19</version> <vendor>oracle</vendor> </jdk> </toolchains> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <mainClass>com.example.demo.RecordPatternExample</mainClass> <commandlineArgs>--enable-preview</commandlineArgs> <arguments> <argument>--enable-preview</argument> </arguments> </configuration> </plugin> 按照建议在这个问题中,我还将--enable-preview添加到.mvn/jvm.config。 但是在命令行运行项目时。 mvn clean package exec:java 我仍然遇到这样的异常。 [INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ record-pattern --- [INFO] Toolchain in maven-compiler-plugin: JDK[D:/jdks/jdk-19] [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to D:\hantsylabs\java-sandbox\record-pattern\target\classes [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ record-pattern --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\hantsylabs\java-sandbox\record-pattern\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.10.1:testCompile (default-testCompile) @ record-pattern --- [INFO] Toolchain in maven-compiler-plugin: JDK[D:/jdks/jdk-19] [INFO] Changes detected - recompiling the module! [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ record-pattern --- [INFO] Toolchain in surefire-plugin: JDK[D:/jdks/jdk-19] [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ record-pattern --- [INFO] Building jar: D:\hantsylabs\java-sandbox\record-pattern\target\record-pattern-1.0-SNAPSHOT.jar [INFO] [INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ record-pattern --- [WARNING] java.lang.UnsupportedClassVersionError: com/example/demo/RecordPatternExample has been compiled by a more recent version of the Java Runtime (class file version 63.65535), this version of the Java Runtime only recognizes class file versions up to 61.0 显然,--enable-preview选项不适用于exec:java和工具链配置的JDK,但它与maven-compiler-plugin配合使用效果很好。 示例项目已在我的 Github 上共享。 对此进行了调查,对我来说这似乎无法完成:exec:java似乎没有工具链支持。如果您查看用于 exec:java 的 ExecJavaMojo 源代码,您会发现它没有对工具链的引用,因此它无法工作。将其与包含它们的 ExecMojo 源代码 进行比较。 如果您将配置更改为使用 exec:exec,则安装应该可以正常工作: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <configuration> <executable>java</executable> <arguments> <argument>--enable-preview</argument> <argument>-classpath</argument> <classpath/> <argument>com.example.demo.RecordPatternExample</argument> </arguments> </configuration> </plugin> 使用 mvn exec:exec 并配置工具链进行测试运行: [INFO] --- exec-maven-plugin:3.1.0:exec (default-cli) @ record-pattern --- [INFO] Toolchain in exec-maven-plugin: JDK[C:/Program Files/Java/jdk-19+36] Hantsy Bai Circle with r:1.2, area:4.5216 Square with x:1.2, area:1.44 Rectangle with x: 1.0 and y:2.0, area:2.0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.350 s [INFO] Finished at: 2022-10-12T13:25:56+03:00 [INFO] Final Memory: 10M/25M [INFO] ------------------------------------------------------------------------ exec-maven-plugin 文档没有说得很清楚,但是要让插件使用工具链有两个要求: 你必须使用exec:exec。正如其他人指出的那样, exec:java 用于在 maven 运行的同一虚拟机中运行 java 类。 您必须将其指定为简单的“java”。 然后插件就可以正确使用jdk工具链配置了。

回答 2 投票 0

如何管理多模块Maven项目中两个模块之间的测试属性?

我有一个多模块 Maven 项目,有两个模块:network 和 devenv。项目结构如下所示: 服务 ├── 网络 │ ├── 源代码 │ │ ├── 主要 │ │ ├── 测试 │ │ │ └──

回答 1 投票 0

在 Tycho 中生成 p2 存储库依赖关系的分层依赖关系树

我正在尝试解决 tycho 中的版本冲突,其中在编译时加载插件的多个版本,这是项目结构不允许的,并在编译过程中抛出错误...

回答 1 投票 0

如何管理多个导入的Maven BOM

使用 Maven BOM 是管理依赖关系的好方法。但是,您可能会遇到必须管理同一项目中多个 BOM 导入的情况。 在这种情况下,当然是

回答 1 投票 0

无法添加新的兄弟maven模块作为依赖项

我在项目中的同一父级下创建了一个新的 Maven 模块(帮助程序),并需要它作为同一父级(dal-commons)下的另一个兄弟模块中的依赖项。新模块显然不存在于

回答 1 投票 0

Maven - 依赖于组装的 zip

我正在尝试让项目 B 拉下(并解压)项目 A 构建的 ZIP 并将其部署到远程存储库。 ZIP 是使用 maven-assemble-plugin 创建并附加的,并带有打包...

回答 3 投票 0

将 Cobertura 与 Maven 3.0.2 一起使用的正确方法是什么

过去几天我一直在尝试使用 Maven 3.0.2 运行 Cobertura 2.4,但没有成功。我们有一个非常大的项目,有很多模块(子项目)。 我发现文档是

回答 3 投票 0

创建BOM文件

我有一个基于 Maven 的多模块 Java 项目,它构建了许多 jar 文件(库)以供其他应用程序使用。 该项目中有 5 个模块,每个模块创建一个单独的 jar 文件。 T...

回答 1 投票 0

如何使用“Versions Maven Plugin”仅检查顶级(pom-listed)包的更新?

目前检查可更新模块需要花费大量时间。 似乎该模块不仅检查直接项目依赖项,还检查间接依赖项 - 这确实......

回答 2 投票 0

如何使用 VSCode 执行没有 main 方法的 java 程序?

我想使用selenide工具调试一个没有main方法的java程序。我可以从命令行运行该程序,没有任何问题,但是当我尝试使用 VSCode 调试它时,它输出 文件'

回答 1 投票 0

Eclipse maven 错误:SLF4J(W): 未找到 SLF4J 提供程序

当我在命令窗口中运行时,我的测试用例正在运行。 使用命令:mvn clean verify 但是当我直接从 eclipse 运行时,它会抛出以下错误。 SLF4J(W):未找到 SLF4J 提供程序。 SLF4J(W):

回答 1 投票 0

Maven Shade 插件不排除 META-INF.versions 文件

使用Maven Shade插件3.6.0 我有以下过滤器: *:* 使用Maven Shade插件3.6.0 我有以下过滤器: <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF.versions.9.module-info</exclude> </excludes> </filter> </filters> 但是,我仍然看到以下警告: classgraph-4.8.160.jar、jackson-core-2.17.0.jar、jackson-databind-2.15.2.jar、jackson-datatype-jdk8-2.15.2.jar、jackson-datatype-jsr310-2.15.2 .jar,jackson-module-parameter-names-2.15.2.jar 定义 1 个重叠类: [警告] - META-INF.versions.9.module-info 这是良性的,但如果可能的话我仍然想消除警告。我做错了什么? 使用的过滤器使用错误。 <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF/versions/9/module-info.class</exclude> </excludes> </filter> </filters> 或者排除多版本 jar 的所有类型的 module-info.class 文件: <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>module-info.class</exclude> <exclude>META-INF/LICENSE</exclude> <exclude>META-INF/NOTICE</exclude> <exclude>META-INF/MANIFEST.MF</exclude> <exclude>META-INF/versions/**/module-info.class</exclude> </excludes> </filter> </filters>

回答 1 投票 0

Spring Boot:OpenApi 生成器插件创建不需要的测试文件

我使用 OpenApi 3.0 和 maven 插件 openapi-generator-maven-plugin 来生成我的 api + 对象。 这是我的 Maven 配置: ...

回答 3 投票 0

maven - 执行Java类时发生异常,ClassNotFoundException

我正在尝试创建并运行 Apache Beam 管道,但每当运行 mvncompile exec:java -D"exec.mainClass"="App" 时,我都会收到此错误。即使我没有收到错误......

回答 1 投票 0

错误:无法访问org.openqa.selenium.HasInputDevices,未找到类文件

我跑: mvn 干净测试 我收到此错误: [错误] 未能执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile (default-testCompile)关于项目 suman:编译

回答 2 投票 0

Maven exec 插件不能依赖提供的依赖项?

在我的 POM 中我有这个依赖项 org.projectlombok 龙目岛 <

回答 4 投票 0

错误1968 o.s.boot.SpringApplication:应用程序启动失败

我是春天的新人,这是我的第一个项目。我做错了什么导致出现以下错误? 错误 1968 --- [lication.main()] o.s.boot.SpringApplication:应用程序启动...

回答 1 投票 0

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