我试图将我的maven项目运行到maven容器中,但没有成功。在windows中,我曾经使用以下命令运行我的所有测试,并且运行良好,但是在"maven:3.6.3-jdk-8“容器中返回未知的生命周期错误。
mvn clean install -Ptest OR mvn test -Ptest错误未知生命周期阶段“清洁安装”。您必须以格式>或指定一个>有效的生命周期阶段或目标。可用的生命周期阶段是:验证、初始化、>生成-源、过程-源、>过程-资源、编译、过程-类、生成-测试源、>过程-测试-源、生成-测试-资源、过程-测试-资源、>测试-编译、过程-测试-类、测试、准备-包、包、>预集成-测试、集成-测试、后集成测试、验证、>安装、部署、预清洁、清洁、前-站点、站点、>后-站点、站点-部署。->帮助1
我的POM.xml文件。
<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命令
ENTRYPOINT ["mvn", "test","-Ptest"]或
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验证过了,它也不适用于我,即使我尝试过测试,给出了目标/阶段,但我没有运气。
发布于 2020-02-27 08:20:32
你具体说明的是:
入口点"mvn",“清洁安装-P测试”
在容器上以下列方式执行:
mvn "clean install -P test"它将"clean install -P test"视为传递给
maven程序没有将整个令牌“清洁安装-P测试”视为有效的生命周期阶段。
使用exec表单您想要的是:
ENTRYPOINT ["mvn", "clean", "install", "-P", "test"]或使用shell形式:
ENTRYPOINT mvn clean install -P testhttps://stackoverflow.com/questions/60428321
复制相似问题