Apache Maven是一个构建自动化和项目管理工具,主要用于Java项目。此标记用于与特定Maven版本无关的问题。使用gradle标签代替与Gradle相关的问题。
如何将 Java Swing 包导入 JavaFXML Maven 项目?
我正在第一次尝试使用 Netbeans、Maven 和 JavaFXML 开发小型桌面应用程序。我选择使用使用 Ant 开发的应用程序的早期版本,并且...
我正在尝试使用以下文档在 FreeBSD(版本 10.0-RELEASE-p7)上安装 Maven http://books.sonatype.com/mvnref-book/reference/installation-sect-maven-install.html 我正在使用'
我最近在chatgpt的帮助下用Java语言创建了一个discord机器人。该机器人正在运行并且在不和谐服务器上在线,但没有执行我想要的操作。目的是向某人打招呼...
我的 Spring Boot 项目有构建描述: org.apache.maven.plugins 我的 Spring Boot 项目有构建描述: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <dependencies> <dependency> <groupId>org.apache.maven.surefire</groupId> <artifactId>surefire-junit47</artifactId> <version>2.18.1</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <mainClass>com.app.MainClass</mainClass> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> 我希望我的 JAR 文件名在一个分支中为 app-1.0-SNAPSHOT.jar,在另一个分支中为 1.0-RELEASE.jar,由 Jenkins 控制(使用某种 mvn 设置或 JVM 参数,例如 -D.. 我可以这样做吗? 很简单,在一个分支中,你有 pom.xml 和 <build> <finalName>app-1.0-SNAPSHOT</finalName> </build> 在其他分支,您有 pom.xml 和 <build> <finalName>1.0-RELEASE</finalName> </build> 您可以使用maven boot插件指定artefact-name: 在这种情况下,它将是NewJarName.jar <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> <configuration> <finalName>NewJarName</finalName> </configuration> </execution> </executions> </plugin> 您可以将项目的版本传播到您的构建名称,如下所示: <build> <finalName>app-${project.version}</finalName> </build> 或者您的父项目的版本(如果您有的话): <build> <finalName>app-${parent.version}</finalName> </build> 然后您将跟踪项目版本而不是构建名称。 但是,请注意,使用分支管理 SCM 中的构建版本是一件令人头疼的事情,并且容易出错。强烈建议您的代码存储库与您的构建版本无关。 一个可能的替代方案是使用一些发布管理工具,例如 maven release plugin,或更简单的 maven version。 示例: 这里我将给出使用 maven verion 的示例。 假设您正在使用 SCM 工具(可能是 git)和构建工厂(如 Jenkins 或任何其他工具)。假设您有一份工作用于构建和部署 snapshots,另一份工作用于 releases。 在 snapshot 作业中,您可以使用以下 Maven 目标设置预构建任务: versions:set -DnewVersion=app-1.0-SNAPSHOT 以及release作业中的以下内容: versions:set -DnewVersion=app-1.0-RELEASE 现在这样做就可以了,因为您只是在本地执行此操作,而不必在代码中管理构建版本。 现在,您可以在应用maven version并成功构建后标记您的(发布)版本(希望包括单元、集成和功能测试)。这样您就可以准确跟踪每个版本上部署的代码。 提示!! 空间就是金钱!帮自己一个忙:定期清理快照存储库。创建一个偶尔这样做的工作应该不会太困难。 Maven:pom.xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> **<finalName>spring-boot-new-jar-file-name</finalName>** </configuration> </plugin> </plugins> </build> 在文件名中添加版本 spring-boot-new-jar-文件名-${版本}
java.lang.reflect.InaccessibleObjectException:无法创建受保护的本机 java.lang.Object java.lang.Object.clone()
从 Java 8 迁移到 Java 17 并运行测试用例时,测试用例失败,并显示 java.lang.reflect.InaccessibleObjectException:无法创建受保护的本机 java.lang.Object
使用 MacOS Catalina。安装了 IntelliJ。 Maven 工作正常,但在终端中找不到 mvn comand。如何在终端中使用IntelliJs maven?
Maven 错误在当前项目和插件组中找不到前缀“http”的插件
我正在尝试将 jar 部署到远程存储库。我为此编写了一个 Maven 部署命令 mvn 部署:部署文件 -q -Dfile=$jarf -DgroupId=lsls -DartifactId=$JAR_NAME -Dversion=1.0.0 -Dpackaging=jar -
使用 Android 的 oss-licenses 插件手动向 OssLicensesMenuActivity 添加条目
我正在为我的 Android 应用程序使用 oss-licenses 插件(Android - 包括开源声明)来从正在使用的所有开源存储库收集许可证信息。 但有些出版商...
Maven Wildfly 插件 java util 日志记录正常
maven wildfly 插件 v4.2.1.Final 无法使用 java.util.logging 包记录 Level.FINE 及以下级别。我尝试按照此处的文档进行操作,但没有 java.util.lo 的链接...
我的项目需要maven 3.6.3。当然,我可以从 https://archive.apache.org/dist/maven/maven-3/3.6.3/ 下载它,但我喜欢使用 yum 进行所有安装。 据我所知,我可以检查
将 kafka-schema-registry-maven-plugin 与父架构和子架构一起使用
我有一个项目,其中有三个模式MetaModel.avsc、RevisionModel.avsc 和RecentChangeEventModel.avsc。其中,RecentChangeEventModel 将其他对象引用为嵌套对象,如下所示...
确定哪个依赖项导致易受攻击的 jackson-databind jar 被缓存在 Maven 存储库中
当前,我们的开发机器/构建服务器的 Maven 缓存中出现了 jackson-databind 的易受攻击版本,并在安全扫描中被标记。 通过反复试验,我找到了...
在 IntelliJ 中使用 Jersey 2.39.1 构建 Java 8 项目时出现 OutOfMemory 异常,但在 Maven 中工作正常
我有一个Java 8项目,它的依赖项之一是Jersey 1.19.4。我正在尝试将其更新到 Jersey 2.39.1。 当我使用 Maven 构建项目(干净编译验证)时,它工作正常。然而,...
更新pom.xml中的Spring-boot版本时出现错误?
我将spring-boot父版本从1.2.5更新到1.5.9。 org.springframework.boot spring-boot-starter-parent 我将 spring-boot 父版本从 1.2.5 更新到 1.5.9。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> 更新版本后,spring-boot-starter-log4j出现以下错误消息。 Project build error: 'dependencies.dependency.version' for org.springframework.boot:spring-boot-starter-log4j:jar is missing. 这是 pom.xml 中的 spring-boot-starter-log4j 依赖项。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j</artifactId> </dependency> 帮我解决这个问题。 尝试使用 log4j2 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> 要返回 log4j 即 log4j 1,您必须进行一些自定义。 查找你正在使用的 spring 的最新颠覆并进行更改 <version>1.5.{latest}</version>
我正在尝试在我的 Spring Boot 应用程序中添加 log4j2 框架,并且我正在使用 Spring AOP 将日志记录问题与我的逻辑业务隔离开来。 不幸的是,当我尝试记录我的消息时,...
onPluginMessageReceived 从速度发送到插头时不起作用
我正在学习速度插件如何在我的《我的世界》网络中工作,我想制作一个简单的 /screenshare(玩家)命令将两个玩家带到屏幕共享服务器上。因为我想要龙头
在我的 Maven 项目中,我使用 jaxb2-maven-plugin,它使用 com.sun.xml.bind.external:rngom 依赖项。问题是从 rngom 2.2.11 版本开始,包 org.kohsuke.rngom 被移至 com.sun。
在 jenkins 中使用 java 8 指定用于 Maven 作业的 JAVA_HOME 并使用 Java 11 进行声纳扫描
我需要使用 java 8 运行我的 Maven 构建,并使用 java 11 运行声纳扫描,但不知道如何在同一个工作中执行此操作。 当我尝试在 jenkins gui 中使用 java 8 构建作业时,声纳扫描失败 cz java...
我想编译我的项目。它与命令 mvn clean install -U 一起工作正常,但是当我尝试使用 intelij 构建它或运行测试 InteliJ 抛出: java: Lombok 访问者处理程序类 lombok...
使用 JUnit Mocked ObjectMapper 显示 Null。 java.lang.NullPointerException:objectMapper 为空
首先,我是 UnitTest 的新手。 当我在测试中嘲笑我的 objectMapper 时。它返回给我 null。我最后的睾丸结构相同。我相信我正在使用损坏的 junit。 Intellij 可能是