通过 Maven 配置文件具有多个入口点应用程序的 Spring Boot

2024-01-20

我正在尝试构建一个结构原型,其中多个 @SpringBootApplications 通过它们的打包命名空间进行隔离,如下所示:

在 Maven 中pom.xml,为了构建,我依赖于配置文件,如下所示,并进行了描述here https://docs.spring.io/spring-boot/docs/3.0.x-SNAPSHOT/maven-plugin/reference/htmlsingle/#packaging and here https://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/maven-plugin/repackage-mojo.html:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <mainClass>
                                ${spring.boot.mainclass}
                            </mainClass>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M6</version>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>dcr</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
        <profile>
            <id>other</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
    </profiles>

</project>

我尝试构建代码库(根据 spring-boot-maven-pluginspec https://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/maven-plugin/examples/run-profiles.html) 结果如下:

>mvn clear package -Drun.profiles=dcr



[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.13:repackage (repackage) on project downstream-data-factory: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.7.13:repackage failed: Unable to find a single main class from the following candidates [com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication, com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.13:repackage (repackage) on project downstream-data-factory: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.7.13:repackage failed: Unable to find a single main class from the following candidates [com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication, com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication]
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.7.13:repackage failed: Unable to find a single main class from the following candidates [com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication, com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication]
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.IllegalStateException: Unable to find a single main class from the following candidates [com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication, com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication]
    at org.springframework.boot.loader.tools.MainClassFinder$SingleMainClassCallback.getMainClassName (MainClassFinder.java:432)
    at org.springframework.boot.loader.tools.MainClassFinder$SingleMainClassCallback.access$100 (MainClassFinder.java:403)
    at org.springframework.boot.loader.tools.MainClassFinder.findSingleMainClass (MainClassFinder.java:198)
    at org.springframework.boot.loader.tools.Packager.findMainMethod (Packager.java:318)
    at org.springframework.boot.loader.tools.Packager.findMainMethodWithTimeoutWarning (Packager.java:307)
    at org.springframework.boot.loader.tools.Packager.getMainClass (Packager.java:302)
    at org.springframework.boot.loader.tools.Packager.addMainAndStartAttributes (Packager.java:282)
    at org.springframework.boot.loader.tools.Packager.buildManifest (Packager.java:267)
    at org.springframework.boot.loader.tools.Packager.write (Packager.java:209)
    at org.springframework.boot.loader.tools.Packager.write (Packager.java:202)
    at org.springframework.boot.loader.tools.Repackager.repackage (Repackager.java:144)
    at org.springframework.boot.loader.tools.Repackager.repackage (Repackager.java:131)
    at org.springframework.boot.maven.RepackageMojo.repackage (RepackageMojo.java:216)
    at org.springframework.boot.maven.RepackageMojo.execute (RepackageMojo.java:206)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]

Though 以上参考 https://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/maven-plugin/examples/run-profiles.html建议通过以下方式调用-Drun.profiles=dcr,常规的 Maven 方式,通过-P dcr也尝试过,没有成功。它返回相同的错误消息。

我缺少什么?

上面的方法也参考了here https://stackoverflow.com/a/42840829/283837- 这个答案不正确吗?

先感谢您。


一些进一步的实验让我相信罪魁祸首就在spring-boot-maven-plugin配置/调用,即使我禁用配置文件节pom.xml完全一样,错误消息保持不变,它不区分 2 个配置文件,也不替换${spring.boot.mainclass}财产:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <mainClass>
                                ${spring.boot.mainclass}
                            </mainClass>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M6</version>
            </plugin>
        </plugins>
    </build>
<!-- 
    <profiles>
        <profile>
            <id>dcr</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
        <profile>
            <id>other</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
    </profiles>
-->
</project>

当以下情况时,同样的错误仍然存​​在:plugins配置略有不同,不使用配置文件:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>repackage-dcr</id>
                    <phase>package</phase>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication</mainClass>
                        <finalName>dcr</finalName>
                        <outputDirectory>target/apps</outputDirectory>
                    </configuration>
                </execution>
                <execution>
                    <id>repackage-other</id>
                    <phase>package</phase>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication</mainClass>
                        <finalName>other</finalName>
                        <outputDirectory>target/apps</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M6</version>
        </plugin>
    </plugins>
</build>

并用简单的方法调用mvn clean package.

更仔细地阅读Spring Boot Maven 插件文档 https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#packaging,看起来它根本不是为了识别 Maven 配置文件,为这个实验奠定了基础,参考above https://stackoverflow.com/a/42840829/283837更加摇摇欲坠:

Full pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.13</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.pru.globalpayments</groupId>
    <artifactId>downstream-data-factory</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>downstream-data-factory</name>
    <description>Contains logic for generation of feeds expected by the downstream systems</description>

    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <sonar.language>js</sonar.language>
        <sonar.sources>src/main/java</sonar.sources>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.beanio</groupId>
            <artifactId>beanio</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <!--
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.13.0</version>
        </dependency>
        -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-launcher</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>4.11.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.datafaker</groupId>
            <artifactId>datafaker</artifactId>
            <version>1.8.0</version>
            <!--<scope>test</scope>-->
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>4.11.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jeasy</groupId>
            <artifactId>easy-random-core</artifactId>
            <version>4.3.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>
                        ${spring.boot.mainclass}
                    </mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M6</version>
            </plugin>
        </plugins>
    </build>


    <profiles>
        <profile>
            <id>dcr</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.dailycashreport.DcrDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
        <profile>
            <id>other</id>
            <properties>
                <spring.boot.mainclass>com.pru.globalpayments.feeds.downstream.anothersystem.AnotherSystemDataFactoryApplication</spring.boot.mainclass>
            </properties>
        </profile>
    </profiles>

</project>

Seems mainClass配置未放置在正确的位置:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <mainClass>${spring.boot.mainclass}</mainClass>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>                        
        </execution>
    </executions>
</plugin>

https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#packaging https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#packaging

$ mvn clean package -P other
[INFO] Scanning for projects...
[INFO]
[INFO] -----------< com.pru.globalpayments:downstream-data-factory >-----------
[INFO] Building downstream-data-factory 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.2.0:clean (default-clean) @ downstream-data-factory ---
[INFO] Deleting D:\workspace\downstream-data-factory\target
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ downstream-data-factory ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 0 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:compile (default-compile) @ downstream-data-factory ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to D:\workspace\downstream-data-factory\target\classes
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ downstream-data-factory ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.10.1:testCompile (default-testCompile) @ downstream-data-factory ---
[INFO] Changes detected - recompiling the module!
[INFO]
[INFO] --- maven-surefire-plugin:3.0.0-M6:test (default-test) @ downstream-data-factory ---
[INFO]
[INFO] --- maven-jar-plugin:3.2.2:jar (default-jar) @ downstream-data-factory ---
[INFO] Building jar: D:\workspace\downstream-data-factory\target\downstream-data-factory-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.7.13:repackage (repackage) @ downstream-data-factory ---
[INFO] Replacing main artifact with repackaged archive
[INFO]
[INFO] --- spring-boot-maven-plugin:2.7.13:repackage (default) @ downstream-data-factory ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  17.005 s
[INFO] Finished at: 2023-08-01T16:52:35+02:00
[INFO] ------------------------------------------------------------------------

$ java -jar target/downstream-data-factory-0.0.1-SNAPSHOT.jar
AnotherSystemDataFactoryApplication running...

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::               (v2.7.13)

2023-08-01 16:52:41.465  INFO 8480 --- [           main] .d.a.AnotherSystemDataFactoryApplication : Starting AnotherSystemDataFactoryApplication v0.0.1-SNAPSHOT using Java 1.8.0_311 on X with PID 8480 (D:\workspace\downstream-data-factory\target\downstream-data-factory-0.0.1-SNAPSHOT.jar started by Valijon in D:\workspace\downstream-data-factory)
2023-08-01 16:52:41.487  INFO 8480 --- [           main] .d.a.AnotherSystemDataFactoryApplication : No active profile set, falling back to 1 default profile: "default"
2023-08-01 16:52:48.635  INFO 8480 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port 8080
2023-08-01 16:52:48.667  INFO 8480 --- [           main] .d.a.AnotherSystemDataFactoryApplication : Started AnotherSystemDataFactoryApplication in 8.93 seconds (JVM running for 10.584)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Maven 配置文件具有多个入口点应用程序的 Spring Boot 的相关文章

随机推荐

  • 防止对 PHP 的虚假循环 ajax 请求

    在我的网站上 我为博客文章创建了评论部分 用户可以编写评论 单击按钮 AJAX 请求将发送到包含 JSON 数据的 PHP PHP 将处理和验证数据 然后将其插入数据库 成功后 将从数据库中检索所有评论 并使用 JQuery 重新加载页面的
  • 将 MySQL 数据库移动到远程服务器后,“用户访问被拒绝”

    我在访问数据库时遇到一些问题 该脚本之前在我的本地主机上运行过 我将其导入到另一台服务器中 另一台服务器给我一条访问被拒绝的消息 给出的消息是 Access denied for user root 10 4 1 163 using pas
  • 对 USB 传输电缆进行编程/与 USB 设备驱动程序通信

    如何以编程方式访问 USB 传输电缆 例如 Belkin 的易传输电缆 http www belkin com easytransfercable 从Windows 我熟悉libusb win32 http libusb win32 sou
  • 如何显示eclipse项目类型

    在 Eclipse IDE 中 有图标显示项目类型 但我找不到文字描述 我希望右键单击 gt 属性来显示此信息 但根据此所有项目都是 项目 类型 即使它们是 java 项目或 Maven 项目等 有人知道吗 Thanks 根据 您不会在 E
  • 如何使用 TELETHON 按日期获取消息?

    如何获取今天发布的消息TELETHON 我正在使用下面的代码 date of post datetime datetime 2019 12 24 with TelegramClient name api id api hash as cli
  • 如何优化 R 中词干提取和拼写检查的性能?

    我有大约 1 400 万个文档 每个文档的平均字符数为 中位数 250 和平均值 470 我想在对它们进行分类之前执行拼写检查和词干提取 模拟文档 sentence lt We aree drivng as fast as we drove
  • WPF 4:DataGridColumnHeader 发生了什么?

    DataGridColumnHeader 发生了什么 看起来当 DataGrid 移至PresentationFramework 时它已被删除 DataGridColumnHeader http msdn microsoft com en
  • 汇编程序如何将 x86 指令助记符映射到二进制机器指令?

    我对编写 x86 汇编程序感兴趣 我想知道将 x86 汇编助记符指令 使用类似 Intel 的语法 映射到相应的二进制机器代码指令的好方法是什么 您想了解助记符到机器代码的物理映射吗 如果是这样 则第 2A 卷和第 2B 卷英特尔 IA32
  • 我可以将字符串映射到java中的方法吗?

    我正在用 Java 编写一个表达式计算器 我希望能够添加更多运算符 我目前只有 和 目前 我的代码如下所示 case return a b case return a b case return a b 这适用于我的代码 因为我只有几个运算
  • git 可以提交新的非空文件的“空版本”吗?

    git 可以提交某些文件的空版本吗 恰当的例子是 我需要首先添加新的 未跟踪的 非空文件并提交为empty文件 以便将其内容标记为新内容并进行审查 完整的 未跟踪的文件应not被添加到索引中 git diff应通过将文件与其提交的空版本进行
  • Facebook 页面默认登陆选项卡

    我有一个 Facebook 页面 我将默认登录页面设置为自定义选项卡 如果用户不喜欢该页面 这很有效 如果用户喜欢该页面 则登陆页面始终是墙 有什么方法可以确保您的自定义选项卡始终是登录页面 无论用户是否喜欢您的页面 Example htt
  • Jquery Select2 插件版本检查

    在我的项目中 我检查 Select2 插件是否以这种方式加载 if jQuery select2 但现在我将尝试验证加载了 Select2 插件的版本 3 5 X 或 4 X 我想也许你可以检查一下 4 X 版本中引入的选项 功能是否在 3
  • 从包内加载mathematica包

    我或多或少有以下设置 在 path to my packages我有两个包裹package1 m and package2 m 每个包的概要如下 BeginPackage package1 Unprotect Names package1
  • numpy.linalg.inv 如何计算正交矩阵的逆?

    我正在实施一个LinearTransformation类 继承自numpy matrix和用途numpy matrix I计算变换矩阵的逆 有谁知道 numpy 在尝试计算逆矩阵之前是否检查矩阵的正交性 我问这个问题是因为我的大多数矩阵 但
  • 使用 pandas df.plot 在子图上绘制多条线

    有没有一种方法可以在一个图上绘制多个数据框列 并为数据框绘制多个子图 例如 如果 df 有 12 个数据列 则在子图 1 上绘制第 1 3 列 子图 2 第 4 6 列等 我了解如何使用 df plot 为每一列创建一个子图 但不确定如何按
  • 在django中将图像和缩略图存储在s3上

    我正在尝试使用 django storages boto 和 sorl thumbnail 将图像缩略图存储在 s3 上 我可以使用它 但是即使图像很小 速度也很慢 我不介意当我保存表单并将图像上传到 s3 时速度很慢 但我希望它在那之后能
  • Spring JdbcTemplate 错误处理批量更新

    我正在尝试使用batchUpdate 更新表中的数千行 我的要求是 1 假设一个批次有1000条记录 235 号记录导致错误 如何找出导致错误的记录 2 假设记录 600 没有导致更新 原因可能是没有记录匹配 where 子句 如何找出未更
  • 为什么我的 bash 提示符没有更新?

    我是 git 新手 我正在尝试将当前 git 分支添加到我已经存在的提示中 其定义如下 RESET 017 NORMAL 033 0m RED 033 31 1m YELLOW 033 33 1m WHITE 033 37 1m SMILE
  • Android 如何设置 EditText 的最大“字数”限制

    如何在 Android 上设置最大字数限制EditText我知道如何设置字符限制 但我正在寻找字数限制 您需要添加一个TextChangedListener给你的EditText然后应用一个InputFilter请参阅以下代码 edDesc
  • 通过 Maven 配置文件具有多个入口点应用程序的 Spring Boot

    我正在尝试构建一个结构原型 其中多个 SpringBootApplications 通过它们的打包命名空间进行隔离 如下所示 在 Maven 中pom xml 为了构建 我依赖于配置文件 如下所示 并进行了描述here https docs