Apache Maven是一个构建自动化和项目管理工具,主要用于Java项目。此标记用于与特定Maven版本无关的问题。使用gradle标签代替与Gradle相关的问题。
Java/maven:如何强制我的项目使用依赖项的本地版本?
最好用一个例子来解释 我有 2 个自定义 Maven 项目(我们称它们为 projectX 和 projectY)。 projectY 依赖于 projectX。 projectX 已通过以下方式添加到 projectY <
Spring Boot 在启动时抛出 BeanCreationException
我已经开始将 Spring MVC / Spring Web Tomcat 应用程序迁移到 Spring Boot。 目前我正在将 xml 配置文件迁移到 java 配置。 当我尝试通过 mvn 启动我的应用程序时
构建时出现 MojoExecutionException - Maven
以下是我在 pom 中构建 Maven 项目时包含的目标。 以下是我在 pom 中构建 Maven 项目时包含的目标。 <?xml version="1.0"?> <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mynewproject.portlet</groupId> <artifactId>abc-myfacts-portlet</artifactId> <packaging>war</packaging> <name>ABC MY FACTS Portlet</name> <version>2.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>com.liferay.maven.plugins</groupId> <artifactId>liferay-maven-plugin</artifactId> <version>${liferay.maven.plugin.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>build-css</goal> </goals> </execution> </executions> <configuration> <autoDeployDir>${liferay.auto.deploy.dir}</autoDeployDir> <appServerDeployDir>${liferay.app.server.deploy.dir}</appServerDeployDir> <appServerLibGlobalDir>${liferay.app.server.lib.global.dir}</appServerLibGlobalDir> <appServerPortalDir>${liferay.app.server.portal.dir}</appServerPortalDir> <liferayVersion>${liferay.version}</liferayVersion> <pluginType>portlet</pluginType> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.5</version> <configuration> <encoding>UTF-8</encoding> <source>1.6</source> <target>1.6</target> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.5</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Liferay dependency --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> <optional>true</optional> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.5</version> </dependency> <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-instrument</artifactId> <version>3.1.0.RELEASE</version> </dependency> --> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-service</artifactId> <version>${liferay.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>util-bridges</artifactId> <version>${liferay.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>util-taglib</artifactId> <version>${liferay.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>util-java</artifactId> <version>${liferay.version}</version> <scope>provided</scope> </dependency> <!-- Portlet/JSR dependency --> <dependency> <groupId>javax.portlet</groupId> <artifactId>portlet-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- Servlet/JSP dependency --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> <scope>runtime</scope> </dependency> <!-- Spring dependency --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc-portlet</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>3.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-agent</artifactId> <version>2.5.6</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.12</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib-nodep</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency> <!-- Log4j configuration --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.4.2</version> </dependency> <!-- Unit testing --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <!-- Data Service dependency --> <dependency> <groupId>com.mynewproject.components</groupId> <artifactId>abc-mynewproject-service</artifactId> <version>2.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.mynewproject.components</groupId> <artifactId>emailcomponent</artifactId> <version>2.0-SNAPSHOT</version> </dependency> </dependencies> <profiles> <profile> <id>Liferay-v6.2-EE-(Tomcat-7)</id> <properties> <liferay.version>6.2.2</liferay.version> <liferay.maven.plugin.version>7.0.0-m2</liferay.maven.plugin.version> <liferay.auto.deploy.dir>..\Liferay Portal\liferay-portal-6.2.10.1-ee-ga1\deploy</liferay.auto.deploy.dir> <liferay.app.server.deploy.dir>..\Liferay Portal\liferay-portal-6.2.10.1-ee-ga1\tomcat-7.0.42\webapps</liferay.app.server.deploy.dir> <liferay.app.server.lib.global.dir>..\Liferay Portal\liferay-portal-6.2.10.1-ee-ga1\tomcat-7.0.42\lib\ext</liferay.app.server.lib.global.dir> <liferay.app.server.portal.dir>..\Liferay Portal\liferay-portal-6.2.10.1-ee-ga1\tomcat-7.0.42\webapps\ROOT</liferay.app.server.portal.dir> </properties> </profile> </profiles> </project> 但是当我执行构建时,出现以下错误: [ERROR] 执行目标失败 com.liferay.maven.plugins:liferay-maven-plugin:6.2.1:build-css (默认)在项目 myNewProject 上:null:MojoExecutionException: NullPointerException -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException: 失败 执行目标 com.liferay.maven.plugins:liferay-maven-plugin:6.2.1:build-css (默认)在项目 myNewProject 上:null 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) 在 org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) 在 org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 在 org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) 我的问题是: 当我执行构建时,是什么导致了空指针异常? 这个问题发生在我的 Mac 上。 我用 JAVA_HOME=/usr/libexec/java_home -v 1.8 切换到 JDK 8 echo $JAVA_HOME表演 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 原来这个JDK版本有问题 我使用JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home修复了它(在安装官方JDK8之后) 现在echo $JAVA_HOME演出 /Library/Java/JavaVirtualMachines/jdk1.8.0_341.jdk/Contents/Home 首先,您需要检查您正在使用的 liferay 版本,如果它在您的pom.xml中提到。 此外,当您尝试使用旧版本的 Maven 构建 Liferay 项目时,可能会抛出错误。使用命令检查您使用的 Maven 版本 mvn-版本 此外,您正在使用的 JDK 应该在您的 POM.xml 中正确提及。 我发现 khmarbaise 的评论是正确的,因为版本也可能存在冲突。希望这会有所帮助。
如何在命令行为 Mule 项目设置构建的 JAR 文件的名称?
我正在为使用 Maven 构建工件的 Mule 项目构建 CI 管道,我希望能够在构建时定义工件的名称,而不更改 pom.xml,这样我就知道 .. .
我有一个漂亮的 BOM,在其 dependencyManagement 部分中有很多依赖项,我想创建另一个 BOM,导入除一个之外的所有依赖项。我试过这样做: ... ...
我正在尝试使用 Tomcat 在 Eclipse 中发布一个 Web 应用程序,这在与我的代码库的旧版本交换之前是有效的。 我在尝试运行
迁移 tomcat7-maven-plugin 到 cargo-maven3-plugin
我们正在更新一个项目以使用新的 cargo-maven3-plugin 而不是 tomcat7-maven-plugin,我们需要一些帮助来了解如何配置某些功能。 现有的插件配置...
是否可以使用 Apache Maven Wrapper 来标准化构建环境?
是否可以使用Apache Maven Wrapper统一所有构建环境? 参考链接 - https://maven.apache.org/wrapper/ 构建 dev、qa、stage 等环境 如果不能使用请注明
无法解析插件 org.springframework.boot:spring-boot-maven-plugin:2.7.8
我添加了以下配置,但是发生了这个错误如何解决伙计们 在此处输入图像描述 在此处输入图像描述 我设置了 Maven 配置并设置了 jdk 版本...
为什么一位开发人员的构建没有正确评估 Maven 配置文件激活表达式?
我在平台上工作,有大量 Maven 构建的服务。他们中的很多人都有这样的结构: 本地 <
我正在尝试使用 glassfish 在 netbeans 中创建和运行“hellow world”的 jsf web 应用程序。 我正在使用 netbeans 17。我正在为 glassfish 7 使用 jdk 17。 我安装了 jdk 20 和 jdk 17。我有玻璃...
ManagedBeans 未使用 NetBeans 17 和 JSF4 进行绑定
我正在使用 netbeans 17、glassfish 7、sdk 17、jsf 4 我使用 glassfish 创建了一个 Maven Web 应用程序。我通过转到属性-> 框架-> 添加 jsf4 服务器库来添加 jsf 4。 cli之后...
如何解决Tomcat过滤器启动失败的错误? Tomcat/Maven/IntelliJ IDEA
我能够使用 Maven 和 Java 17 编译演示 Apache Struts 2.3.30 Web 应用程序。 当我从 IntelliJ IDEA 运行 Tomcat 并导航到 Web 应用程序时,我收到 404 错误。我正在使用 Tomcat Smart Pl...
org.apache.openejb.config.ValidationFailedException:模块验证失败。 AppModule(name=appname) TomEE
谁能帮我这个。我似乎可以成功。我无法将我的应用程序部署到 TomEE 1.7.1 服务器。我不断收到 ValidationFailedException。 下面是我的 eclipse 文件结构。 完整的日志。 ...
Spring Boot、Hibernate、Postgres——不创建表
我正在尝试生成基于实体的表。应用程序正确启动,没有创建任何表。怎么了? 我正在使用 postgre sql 版本 14 和 java 17 这是我的 pom: 我正在尝试基于实体生成表格。应用程序正确启动,没有创建任何表。怎么了? 我正在使用 postgre sql 版本 14 和 java 17 这是我的pom: <?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>3.0.6</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>com.quizmenia</groupId> <artifactId>quizmeniaserver</artifactId> <version>0.0.1-SNAPSHOT</version> <name>quizmeniaserver</name> <description>quizmenia - Application to host quiz for students, communities etc</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> 应用程序.properties: spring.datasource.url=jdbc:postgresql://localhost:5432/quizmenia spring.datasource.username=postgres spring.datasource.password=admin spring.jpa.hibernate.ddl-auto=create-drop spring.datasource.schema=public spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.open-in-view=true 如您所见,我添加了 spring.jpa.hibernate.ddl-auto=create-drop 行,但 JPA 仍未创建表。怎么了? 用户实体: package com.quizmenia.quizmeniaserver.model; import java.util.*; import javax.persistence.*; import com.fasterxml.jackson.annotation.JsonIgnore; @Entity @Table(name = "users") public class user { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(nullable = false) private Long userId; @Column(name="first_name") private String firstName; @Column(name="last_name") private String lastName; @Column(name="email") private String email; @Column(name="password") private String password; @Column(name="enable") private Boolean enable; @Column(name="about") private String about; @Column(name="phone_number") private Integer phoneNumber; public user() { } public user(Long userId, String firstName, String lastName, String email, String password, Boolean enable, String about, Integer phoneNumber) { this.userId = userId; this.firstName = firstName; this.lastName = lastName; this.email = email; this.password = password; this.enable = enable; this.about = about; this.phoneNumber = phoneNumber; } public Long getUserId() { return userId; } public void setUserId(Long userId) { this.userId = userId; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Boolean getenable() { return enable; } public void setenable(Boolean enable) { this.enable = enable; } public String getAbout() { return about; } public void setAbout(String about) { this.about = about; } public Integer getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(Integer phoneNumber) { this.phoneNumber = phoneNumber; } } 文件夹结构: 我认为 application.properties 文件有问题 您可以在What are the possible values of the Hibernate hbm2ddl.auto configuration and what do they dofind some useful things about hbm2ddl spring.datasource.url=jdbc:postgresql://localhost:5432/quizmenia spring.datasource.username=postgres spring.datasource.password=admin spring.jpa.hibernate.ddl-auto=create spring.datasource.schema=public spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.dialect=.. spring.jpa.open-in-view=true 注意:当 show SQL 为真时,首先检查控制台中显示的查询。 尝试改变: @Table(name = "users") 致: @Table(name = "users", schema = "public", catalog = "quizmenia")
在 Eclipse 中安装 AEM 插件时出错:“收集要安装的项目时发生错误”
收集要安装的项目时出错 会话上下文是:(profile=epp.package.java, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=)。 我都试过了...
我需要为一个项目开发一个Junit测试框架。它的结构应该使所有编写的 Junit 测试都可以在一个 jar 文件中使用,并且可以简单地添加一个新的 jar 文件来...
我有三个级别的 Maven 多模块项目。 祖父 -> 包括父亲 父亲 -> 包括多个儿子 儿子1 儿子2 儿子3 我的 Jenkins 工作触发了 Grand Father 项目的构建。即...
所以,我有一个 GitHub 存储库,其中包含已编译的 Maven 项目。我设置了 GitHub Actions 以将它们部署到 GitHub Packages。这是我当前的 release-package.yml: 名称:Maven 包 开:推 工作:
我想将此依赖项添加到我的 maven spring 应用程序中。 存储库{ 行家{ url = uri("https://maven.regulaforensics.com/RegulaDocumentReaderWebClient") } }