• maven 进阶


    目录

    分模块开发与设计 (**)

    ssm_pojo拆分:

    ssm_dao拆分:

    ssm_service拆分:

    ssm_controller拆分:

    聚合 (**)

    继承 (**)

    属性 (**)

     属性类别:自定义属性

     属性类别:内置属性

    属性类别:Setting属性

    属性类别:Java系统属性

    ​编辑

    属性类别:环境变量属性(变量前面加env)

    版本管理

    资源配置

    配置文件引用pom属性

    多环境开发配置

    多环境兼容:

    创建多环境:

    ​编辑

    加载指定环境:

    跳过测试

    私服 (**)

    分模块合作开发:

    Nexus安装、启动与配置

     私服资源获取:

    仓库分类:

     资源上传:

     idea 环境中资源上传与下载:

     访问私服配置(本地仓库访问私服)

    访问私服配置:

    ​编辑

    发布配置管理:

     发布:


    分模块开发与设计 (**)

    ssm_pojo拆分:

     

     ssm_dao子项目:

     

     User实体类在ssm_pojo子项目中,如何导入User类呢?

    在ssm_dao子项目中导入ssm_pojo的项目ID

    1. <dependency>
    2. <groupId>com.feng</groupId>
    3. <artifactId>ssm_pojo</artifactId>
    4. <version>1.0-SNAPSHOT</version>
    5. </dependency>

    重新编译一下:

     

     compile之后,编译报错:

     之所以引入ssm_pojo的Id后还会报错,是因为本地maven仓库中,没有拉取ssm)_pojo的项目依赖

     解决办法:在ssm_pojo的maven窗口之中, install一下

     现在看本地仓库下面:

     现在可以在ssm_dao子项目中重新compile一下,就不会报错了

    ssm_dao拆分:

    ssm_dao项目中的pom.xml 配置如下:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>com.feng</groupId>
    7. <artifactId>ssm_dao</artifactId>
    8. <version>1.0-SNAPSHOT</version>
    9. <properties>
    10. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    11. <maven.compiler.source>1.8</maven.compiler.source>
    12. <maven.compiler.target>1.8</maven.compiler.target>
    13. </properties>
    14. <dependencies>
    15. <dependency>
    16. <groupId>org.springframework</groupId>
    17. <artifactId>spring-context</artifactId>
    18. <version>5.1.9.RELEASE</version>
    19. </dependency>
    20. <dependency>
    21. <groupId>org.mybatis</groupId>
    22. <artifactId>mybatis</artifactId>
    23. <version>3.5.3</version>
    24. </dependency>
    25. <dependency>
    26. <groupId>org.mybatis</groupId>
    27. <artifactId>mybatis-spring</artifactId>
    28. <version>2.0.7</version>
    29. </dependency>
    30. <dependency>
    31. <groupId>mysql</groupId>
    32. <artifactId>mysql-connector-java</artifactId>
    33. <version>5.1.47</version>
    34. </dependency>
    35. <dependency>
    36. <groupId>org.springframework</groupId>
    37. <artifactId>spring-jdbc</artifactId>
    38. <version>5.1.9.RELEASE</version>
    39. </dependency>
    40. <dependency>
    41. <groupId>com.alibaba</groupId>
    42. <artifactId>druid</artifactId>
    43. <version>1.1.16</version>
    44. </dependency>
    45. <dependency>
    46. <groupId>com.github.pagehelper</groupId>
    47. <artifactId>pagehelper</artifactId>
    48. <version>5.1.2</version>
    49. </dependency>
    50. <dependency>
    51. <groupId>com.feng</groupId>
    52. <artifactId>ssm_pojo</artifactId>
    53. <version>1.0-SNAPSHOT</version>
    54. </dependency>
    55. </dependencies>
    56. </project>

    ssm_dao项目中的applicationContext.xml中的配置

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:context="http://www.springframework.org/schema/context"
    4. xmlns:tx="http://www.springframework.org/schema/tx"
    5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. http://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/aop
    9. http://www.springframework.org/schema/aop/spring-aop.xsd
    10. http://www.springframework.org/schema/context
    11. http://www.springframework.org/schema/context/spring-context.xsd">
    12. <!--开启bean注解扫描-->
    13. <context:component-scan base-package="com.feng" />
    14. <!--开启注解式事务-->
    15. <tx:annotation-driven transaction-manager="txManager" />
    16. <!--加载properties文件-->
    17. <context:property-placeholder location="classpath*:jdbc.properties" />
    18. <!--数据源-->
    19. <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    20. <property name="driverClassName" value="${jdbc.driver}" />
    21. <property name="url" value="${jdbc.url}" />
    22. <property name="username" value="${jdbc.username}" />
    23. <property name="password" value="${jdbc.password}" />
    24. </bean>
    25. <!--整合mybatis到spring中-->
    26. <bean class="org.mybatis.spring.SqlSessionFactoryBean">
    27. <property name="dataSource" ref="dataSource" />
    28. <property name="typeAliasesPackage" value="com.feng.pojo" />
    29. <!--分页插件-->
    30. <property name="plugins">
    31. <array>
    32. <bean class="com.github.pagehelper.PageInterceptor">
    33. <property name="properties">
    34. <props>
    35. <prop key="helperDialect">mysql</prop>
    36. <prop key="reasonable">true</prop>
    37. </props>
    38. </property>
    39. </bean>
    40. </array>
    41. </property>
    42. </bean>
    43. <!--映射扫描-->
    44. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    45. <property name="basePackage" value="com.feng.dao" />
    46. </bean>
    47. <!--事务管理-->
    48. <bean name="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    49. <property name="dataSource" ref="dataSource" />
    50. </bean>
    51. </beans>

    ssm_service拆分:

    ssm_controller拆分:

    聚合 (**)

    新建一个模块ssm, 里面没有任何东西,只有一个pom.xml

    解决快速构建的问题

     ssm模块,里面没有任何东西,只有一个pom.xml, 如下所示:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project xmlns="http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. <modelVersion>4.0.0</modelVersion>
    6. <groupId>com.feng</groupId>
    7. <artifactId>ssm</artifactId>
    8. <version>1.0-SNAPSHOT</version>
    9. <!--定义该工程用于进行构建管理-->
    10. <packaging>pom</packaging>
    11. <!--管理的工程列表-->
    12. <modules>
    13. <!--具体的工程名称-->
    14. <module>../ssm_pojo</module>
    15. <module>../ssm_dao</module>
    16. <module>../ssm_service</module>
    17. <module>../ssm_controller</module>
    18. </modules>
    19. </project>

    继承 (**)

    新建一个模块ssm,作为父工程, 里面没有任何东西,只有一个pom.xml

    解决下面依赖不兼容的问题

     

     

     

     

    属性 (**)

     属性类别:自定义属性

     属性类别:内置属性

     

    属性类别:Setting属性

    属性类别:Java系统属性

    属性类别:环境变量属性(变量前面加env)

    版本管理

    资源配置

    配置文件引用pom属性

    例如: jdbc.properties里面的内容也可以配置在pom.xml中

     需要在父工程的pom.xml配置 resources

     或

     配置测试资源文件对应的信息

     

    多环境开发配置

    多环境兼容:

    创建多环境:

    加载指定环境:

     

    跳过测试

    跳过测试环节的应用场景

    私服 (**)

    分模块合作开发:

     Nexus

    • Nexus是Sonatype公司的一款maven私服产品
    • 下载地址:https://help.sonatype.com/repomanager3/download

    下载好后,解压:

    Nexus安装、启动与配置

    启动服务器:

     

     

     

     私服资源获取:

    仓库分类:

     

     资源上传:

     idea 环境中资源上传与下载:

     访问私服配置(本地仓库访问私服)

     

     具体操作:

     

     

    访问私服配置:

    发布配置管理:

     发布:

  • 相关阅读:
    yaml中的指示符和注释符使用
    @selector() 与SEL 到底是啥
    【深度学习】详解 ViLT
    MySQL的复制
    uniapp写一个计算器用于记账(微信小程序,APP)
    CANoe面板中的控件:Switch/Indicator
    基于单片机的智能电机保护器设计
    CCF CTO Club 16期活动记事——走进腾讯,实现连接
    【LeetCode】5. 最长回文子串
    时间轴、流程类时间轴绘制
  • 原文地址:https://blog.csdn.net/tumu6889/article/details/125460602