Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Spring boot 在基于maven的Springboot应用程序中,如何在不包含应用程序中现有的主类的情况下单独运行命令行主类?_Spring Boot_Maven_Junit4_Spring Boot Test_Spring Boot Maven Plugin - Fatal编程技术网

Spring boot 在基于maven的Springboot应用程序中,如何在不包含应用程序中现有的主类的情况下单独运行命令行主类?

Spring boot 在基于maven的Springboot应用程序中,如何在不包含应用程序中现有的主类的情况下单独运行命令行主类?,spring-boot,maven,junit4,spring-boot-test,spring-boot-maven-plugin,Spring Boot,Maven,Junit4,Spring Boot Test,Spring Boot Maven Plugin,我面临着一种奇怪的情况。当我运行现有的主应用程序时,它在运行时还包括另一个命令行主类 我已经在pom.xml中创建了2个概要文件,并且还设置了mainClass标记。 1-单元测试 2-集成测试 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration&g

我面临着一种奇怪的情况。当我运行现有的主应用程序时,它在运行时还包括另一个命令行主类

我已经在pom.xml中创建了2个概要文件,并且还设置了mainClass标记。 1-单元测试 2-集成测试

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
    <mainClass>${commandLineMainClass}</mainClass>
</configuration>
</plugin>

org.springframework.boot
springbootmaven插件
${commandLineMainClass}
在集成测试中,我使用命令行运行程序创建了单独的主类,只需点击即可测试部署在另一台服务器上的应用程序

我有两个问题-

1-当我运行现有的主类应用程序时,它也会使用命令行主类启动。在未通过命令行手动运行之前,应将其排除在外

  • 运行命令行主类时,我无法访问自定义应用程序-{env}.properties,尽管它不包括现有的应用程序主类,这很好
  • 我也在使用springBootmaven插件。 请帮助。

    
    
    <project>
    <parent>
        <groupid>org.springframework.boot</groupid>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.1.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <java.version>1.8</java.version>
        <start-class>thisisCommandLineProp</start-class>
        <environment>thisisCommandLineProp</environment>
    </properties>
    <profiles>
        <profile>
            <id>unittest</id>
            <build>
                <filename>${project.artifactId}</filename>
            </build>
        </profile>
        <profile>
            <id>integrationtest</id>
            <build>
                <filename>${project.artifactId}</filename>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skipTests>true</skipTests>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupid>org.springframework.boot</groupid>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <configuration>
                                    <workingDirectory>${project.basedir}\src\integration-test\</workingDirectory>
                                    <mainClass>${project.basedir}\src\integration-test\${start-class}</mainClass>
                                    <arguments>
                                        <argument>
                            spring.config.location=${project.basedir}\src\main\resources\application-${environment}.properties</argument>
                                    </arguments>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <project>
    
    org.springframework.boot spring启动程序父级 2.2.1.发布 1.8 这是常见的命令行属性 这是常见的命令行属性 单元测试 ${project.artifactId} 集成测试 ${project.artifactId} maven surefire插件 真的 org.springframework.boot springbootmaven插件 ${project.basedir}\src\integration test\ ${project.basedir}\src\integration test\${start class} spring.config.location=${project.basedir}\src\main\resources\application-${environment}.properties 跑
    **命令-**spring boot:run-Denvironment=dev-Dstart class=com.abc.xyz.Integrationtest-Pintegrationtest

    
    org.springframework.boot
    spring启动程序父级
    2.2.1.发布
    1.8
    这是常见的命令行属性
    这是常见的命令行属性
    单元测试
    ${project.artifactId}
    集成测试
    ${project.artifactId}
    maven surefire插件
    真的
    org.springframework.boot
    springbootmaven插件
    ${project.basedir}\src\integration test\
    ${project.basedir}\src\integration test\${start class}
    spring.config.location=${project.basedir}\src\main\resources\application-${environment}.properties
    跑
    

    **Command-**spring boot:run-Denvironment=dev-Dstart class=com.abc.xyz.Integrationtest-Pintegrationtest

    您可以在
    pom.xml
    中添加完整的
    部分来查看这两个配置文件的配置,以及如何运行不同用例的示例吗,请提供帮助。您是否可以在
    pom.xml
    中添加完整的
    部分,以查看这两个配置文件的配置以及如何运行不同用例的示例。我已经在下面的注释中添加了pom.xml代码部分,请提供帮助。我已经添加了pom.xml代码段,如果有任何输入错误,请忽略。我的要求是,命令行类应该独立工作,当我运行默认应用程序时,我的集成测试命令行类应该被忽略。当我使用命令行运行时,只有命令行类和现有的默认应用程序主类必须运行。我必须使用以下命令:命令行运行:命令-Spring Bug:Run-Deave= DeaveDistaby= COM.ABC.XYZ.IngultTest-Pintegrationtestplease考虑下次更新您原来的问题。有一个编辑按钮我添加了pom.xml代码段,如果有任何输入错误,请忽略。我的要求是,命令行类应该独立工作,当我运行默认应用程序时,我的集成测试命令行类应该被忽略。当我使用命令行运行时,只有命令行类和现有的默认应用程序主类必须运行。我必须使用以下命令:命令行运行:命令-Spring Bug:Run-Deave= DeaveDistaby= COM.ABC.XYZ.IngultTest-Pintegrationtestplease考虑下次更新您原来的问题。有一个编辑按钮