Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven项目编译和测试代码的过程是什么?_Java_Maven_Process_Installation_Lifecycle - Fatal编程技术网

Java Maven项目编译和测试代码的过程是什么?

Java Maven项目编译和测试代码的过程是什么?,java,maven,process,installation,lifecycle,Java,Maven,Process,Installation,Lifecycle,我在eclipse中导入了maven项目。现在,我需要开始对其进行更改,并使用集成测试对其进行测试(脱离应用程序服务器)。目前,使用openEJB容器在服务器上运行集成测试 我的基本问题是,使用Maven编译、构建和测试的常规过程是什么 mvn安装 Maven->更新项目 从命令行运行我的测试 这是怎么做到的?我对了解mvn安装命令特别感兴趣。 那么,我应该在测试它之前完成所有三个步骤吗 我只是想打印一些东西,看看输出是什么。为此,我想我需要做所有这些步骤 openEJB容器需要类才能加载它们。

我在eclipse中导入了maven项目。现在,我需要开始对其进行更改,并使用集成测试对其进行测试(脱离应用程序服务器)。目前,使用openEJB容器在服务器上运行集成测试

我的基本问题是,使用Maven编译、构建和测试的常规过程是什么

  • mvn安装
  • Maven->更新项目
  • 从命令行运行我的测试
  • 这是怎么做到的?我对了解
    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编译、编译和创建新类。但是怎么做呢