首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置多模块spring应用

如何配置多模块spring应用
EN

Stack Overflow用户
提问于 2018-09-01 15:15:47
回答 2查看 1.4K关注 0票数 1

下面是我的项目结构:

我有两个弹簧启动模块。在auth模块中,我实现了spring安全性。我有一个Auth控制器,它允许我们注册和登录(返回jwt令牌)。在帐户管理模块中,我想要获取用户配置文件,并且我应该使用auth模块。我应该有不同的数据库。

这是我的父母pom:

代码语言:javascript
复制
 <groupId>com.social.network</groupId>
<artifactId>social-network</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>social-network-auth</module>
    <module>social-network-account-management</module>
</modules>

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

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

这里是auth模块的pom:

代码语言:javascript
复制
    <groupId>com.social.network.auth</groupId>
    <artifactId>social-network-auth</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>social-network-auth</name>
    <description>Authentication module for SocialNetwork</description>

    <parent>
        <groupId>com.social.network</groupId>
        <artifactId>social-network</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!--<relativePath>../pom.xml</relativePath>-->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <jwt.version>0.6.0</jwt.version>
        <swagger.version>2.7.0</swagger.version>
    </properties>

   <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

这是我的账户管理的pom

代码语言:javascript
复制
<groupId>com.social.network.account.management</groupId>
<artifactId>social-network-account-management</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>social-network-account-management</name>
<description>Account management module for SocialNetwork</description>

<parent>
    <groupId>com.social.network</groupId>
    <artifactId>social-network</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!--<relativePath>../pom.xml</relativePath>-->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.social.network.auth</groupId>
        <artifactId>social-network-auth</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>


</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

我想运行我所有的模块。

但是构建失败了。在项目egs- org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy -network上执行目标网络(默认部署)失败:部署失败:未在POM inside distributionManagement元素或-DaltDeploymentRepository=id::layout::url参数-> Help 1中指定存储库元素

EN

回答 2

Stack Overflow用户

发布于 2018-09-03 18:18:11

首先,您应该了解两个不同的应用程序不能在同一端口上运行。所以你的想法是正确的,但主要目标是将逻辑部分分离到不同的模块,我的集合,你已经做到了。所以现在,只要创建正确的依赖链即可。(子->父!)并且子模块也不能是弹簧引导应用程序。它可以是你的主模块的一些额外的类集或库。请阅读答案How to make one module depend on another module artifact?。您可以在一个应用程序中使用multiply控制器,但对于不同的映射,您不需要为此使用两个不同的应用程序。顺便说一下,首先请运行mvn包并安装=)

票数 1
EN

Stack Overflow用户

发布于 2018-09-01 18:40:25

你得打电话给我

代码语言:javascript
复制
mvn spring-boot:run 

在每个模块中运行应用程序。

您可以在"Plugins“下找到目标。

但是,当您使用IntelliJ时,有一个Spring Boot Run Dashboard,您可以在其中运行所有应用程序。

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

https://stackoverflow.com/questions/52125850

复制
相关文章

相似问题

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