首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果使用args(-D)或配置文件标记(-P)测试/清理安装/包命令,则Maven容器不会运行。

如果使用args(-D)或配置文件标记(-P)测试/清理安装/包命令,则Maven容器不会运行。
EN

Stack Overflow用户
提问于 2020-02-27 07:36:45
回答 1查看 927关注 0票数 1

我试图将我的maven项目运行到maven容器中,但没有成功。在windows中,我曾经使用以下命令运行我的所有测试,并且运行良好,但是在"maven:3.6.3-jdk-8“容器中返回未知的生命周期错误。

代码语言:javascript
复制
mvn clean install -Ptest OR mvn test -Ptest

错误未知生命周期阶段“清洁安装”。您必须以格式>或指定一个>有效的生命周期阶段或目标。可用的生命周期阶段是:验证、初始化、>生成-源、过程-源、>过程-资源、编译、过程-类、生成-测试源、>过程-测试-源、生成-测试-资源、过程-测试-资源、>测试-编译、过程-测试-类、测试、准备-包、包、>预集成-测试、集成-测试、后集成测试、验证、>安装、部署、预清洁、清洁、前-站点、站点、>后-站点、站点-部署。->帮助1

我的POM.xml文件。

代码语言:javascript
复制
<profiles>
        <profile>
            <id>test</id>
            <properties>
                <suiteXmlFile>${basedir}\src\test\resources\project\test.xml</suiteXmlFile>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>testMore</id>
            <properties>
                <suiteXmlFile>${basedir}\src\test\resources\project\testMore.xml</suiteXmlFile>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            </properties>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M4</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>${suiteXmlFile}</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>

我的dockerfile命令

代码语言:javascript
复制
ENTRYPOINT  ["mvn", "test","-Ptest"]

代码语言:javascript
复制
ENTRYPOINT  ["mvn", "clean install -P test"]

每当我用${basedir}\src\test\resources\project\test.xml替换${basedir}\src\test\resources\project\test.xml并运行ENTRYPOINT ["mvn", "test"]容器时,执行列出在test.xml中的所有测试。

我已经用-Dresources=test.xml验证过了,它也不适用于我,即使我尝试过测试,给出了目标/阶段,但我没有运气。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 08:20:32

你具体说明的是:

入口点"mvn",“清洁安装-P测试”

在容器上以下列方式执行:

代码语言:javascript
复制
mvn "clean install -P test"

它将"clean install -P test"视为传递给

maven程序没有将整个令牌“清洁安装-P测试”视为有效的生命周期阶段。

使用exec表单您想要的是:

代码语言:javascript
复制
ENTRYPOINT  ["mvn", "clean", "install", "-P", "test"]

或使用shell形式:

代码语言:javascript
复制
ENTRYPOINT  mvn clean install -P test

码头入口点文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60428321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档