Java Maven项目编译和测试代码的过程是什么?
我在eclipse中导入了maven项目。现在,我需要开始对其进行更改,并使用集成测试对其进行测试(脱离应用程序服务器)。目前,使用openEJB容器在服务器上运行集成测试 我的基本问题是,使用Maven编译、构建和测试的常规过程是什么Java Maven项目编译和测试代码的过程是什么?,java,maven,process,installation,lifecycle,Java,Maven,Process,Installation,Lifecycle,我在eclipse中导入了maven项目。现在,我需要开始对其进行更改,并使用集成测试对其进行测试(脱离应用程序服务器)。目前,使用openEJB容器在服务器上运行集成测试 我的基本问题是,使用Maven编译、构建和测试的常规过程是什么 mvn安装 Maven->更新项目 从命令行运行我的测试 这是怎么做到的?我对了解mvn安装命令特别感兴趣。 那么,我应该在测试它之前完成所有三个步骤吗 我只是想打印一些东西,看看输出是什么。为此,我想我需要做所有这些步骤 openEJB容器需要类才能加载它们。
mvn安装
mvn安装
命令特别感兴趣。
那么,我应该在测试它之前完成所有三个步骤吗
我只是想打印一些东西,看看输出是什么。为此,我想我需要做所有这些步骤
openEJB容器需要类才能加载它们。是的,
mvn isntall
是最流行的选项。它编译、打包和测试您的项目 是的,mvn isntall
是最流行的选择。它编译、打包和测试您的项目 如果是Eclipse项目,最合理的做法是不从命令行而是从Eclipse执行所有操作。假设您已经安装了m2e插件,请转到您的_项目->运行方式->Maven测试
并运行它
运行Maven测试既不需要
install
也不需要package
阶段,package
将创建一个测试不需要的jar,install
将这个jar复制到本地repo,这也是无用的。当Maven运行测试时,它使用从target dir编译的类,并忽略项目的jar(如果它存在)。如果它是Eclipse项目,最合理的做法是不从命令行而是从Eclipse执行所有操作。假设您已经安装了m2e插件,请转到您的_项目->运行方式->Maven测试
并运行它
运行Maven测试既不需要
install
也不需要package
阶段,package
将创建一个测试不需要的jar,install
将这个jar复制到本地repo,这也是无用的。当Maven运行测试时,它使用从target dir编译的类,并忽略项目的jar(如果它存在)。在有一个很棒的Maven快速参考表在首先,您应该知道,单元测试和集成测试是分开的,并且在maven生命周期的不同部分从不同的插件运行。单元测试与一起运行,集成测试与一起运行
您希望运行集成测试,而故障保护文档说明:
注意:当运行集成测试时,您应该使用调用maven(也可以用缩写为type)
mvn验证
而不是试图直接调用集成测试
阶段
这是直接在maven中运行集成测试的最佳方法。它将运行前面所有必要的步骤(例如:compile
),以便运行集成测试。它不会浪费时间进行安装,因为install
在verify
之后立即进行
但是,如果您在本地运行测试,那么最好直接在IDE中运行集成测试。这将给你一个更快的反馈循环。首先,你应该意识到单元测试和集成测试是分开的,从不同的插件和maven生命周期的不同部分运行。单元测试与一起运行,集成测试与一起运行 您希望运行集成测试,而故障保护文档说明: 注意:当运行集成测试时,您应该使用调用maven(也可以用缩写为type)
mvn验证
而不是试图直接调用集成测试
阶段
这是直接在maven中运行集成测试的最佳方法。它将运行前面所有必要的步骤(例如:compile
),以便运行集成测试。它不会浪费时间进行安装,因为install
在verify
之后立即进行
但是,如果您在本地运行测试,那么最好直接在IDE中运行集成测试。这将为您提供更快的反馈循环。好的。它必须建造整个项目。项目中不包括集成测试。它的设置是分开的。基本上,项目需要使用更新的编译库(类)进行更新。我还应该跳过mvn安装吗?如果集成测试是一个单独的项目,那么如果您从maven运行它的测试,那么它将使用本地repo的主项目jar。如果您从Eclipse运行它,它将使用目标/类。为了避免混淆,最好从EclipseIntegration运行测试,因为它只是一个文件,并且没有任何pom。它的TestNG测试文件。它只需要它使用的类/包。我的问题是,如何将更新的类获取到此文件。所以要生成,我需要运行mvn安装/包,还是只编译?mvn编译、编译和创建新类。但是我的测试程序如何识别更新的类文件是否不在构建路径中呢。它必须建造整个项目。项目中不包括集成测试。它的设置是分开的。基本上,项目需要使用更新的编译库(类)进行更新。我还应该跳过mvn安装吗?如果集成测试是一个单独的项目,那么如果您从maven运行它的测试,那么它将使用本地repo的主项目jar。如果您从Eclipse运行它,它将使用目标/类。为了避免混淆,最好从EclipseIntegration运行测试,因为它只是一个文件,并且没有任何pom。它的TestNG测试文件。它只需要它使用的类/包。我的问题是,如何将更新的类获取到此文件。所以要生成,我需要运行mvn安装/包,还是只编译?mvn编译、编译和创建新类。但是怎么做呢