公共模块Common

1.公共mapper.xml

  • 其他模块的配置
mybatis:
  mapper-locations:  classpath*:org/example/common/web/mappers/*.xml
  typeAliasesPackage: org.example.common.web.domain

# mybatis-plus相关配置
mybatis-plus:
  # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
  mapper-locations: classpath:org/example/common/web/mappers/*.xml
  • 启动类
@MapperScan("org.example.common.web.dao")
  • pom.xml
    前面没有解决找不到xml可以尝试
<build>
    <!--        解决找不到mapper.xml的问题-->
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/mappers/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>
## 2.打包配置
```xml
  <build>
      <!--最终打包的名字-->
      <finalName>${project.artifactId}</finalName>

      <resources>
          <resource>
              <directory>src/main/java</directory>
              <includes>
                  <include>**/*.xml</include>
              </includes>
          </resource>
          <resource>
              <directory>src/main/resources</directory>
          </resource>
      </resources>

      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <version>3.1.1</version>
              <configuration>
                  <!--不打包的资源文件,在此处过滤。同时excludes修改为includes,利用maven-resources-plugin复制到target/resources目录下
                    bootstrap.yml/application.yml选择打进jar包,@spring.profiles.active@会自动替换,若外置则需要手动替换-->
                  <excludes>
                      <exclude>**/*.yml</exclude>
                      <exclude>lib/**</exclude>
                  </excludes>
                  <archive>
                      <!--jar中不包含pom.xml和pom.properties-->
                      <addMavenDescriptor>false</addMavenDescriptor>
                      <manifest>
                          <addClasspath>true</addClasspath>
                          <!--MANIFEST.MF 中 Class-Path 加入前缀-->
                          <classpathPrefix>lib/</classpathPrefix>
                          <!--jar包不包含唯一版本标识-->
                          <useUniqueVersions>false</useUniqueVersions>
                          <!--入口类-->
                          <mainClass>org.example.Comment</mainClass>
                      </manifest>
                      <manifestEntries>
                          <!--MANIFEST.MF 中 Class-Path 加入资源文件目录,
                         优先级:file:./config/ > file:./ > classpath:/config/ > classpath:/ > 自定义目录file:./resources/-->
                          <Class-Path>./resources/</Class-Path>
                      </manifestEntries>
                  </archive>
                  <outputDirectory>${project.build.directory}</outputDirectory>
              </configuration>
          </plugin>

          <!--将依赖包复制到target/lib目录下-->
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-dependency-plugin</artifactId>
              <version>3.1.1</version>
              <executions>
                  <execution>
                      <id>copy-dependencies</id>
                      <phase>package</phase>
                      <goals>
                          <goal>copy-dependencies</goal>
                      </goals>
                      <configuration>
                          <outputDirectory>${project.build.directory}/lib/</outputDirectory>
                      </configuration>
                  </execution>
              </executions>
          </plugin>

          <!--将resources目录下的文件复制到target/resources目录下-->
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.1.0</version>
              <executions>
                  <execution>
                      <id>copy-resources</id>
                      <phase>package</phase>
                      <goals>
                          <goal>copy-resources</goal>
                      </goals>
                      <configuration>
                          <resources>
                              <resource>
                                  <directory>src/main/resources</directory>
                                  <includes>
                                      <include>**/*.yml</include>
                                  </includes>
                              </resource>
                          </resources>
                          <outputDirectory>${project.build.directory}/resources</outputDirectory>
                      </configuration>
                  </execution>
              </executions>
          </plugin>

          <!--spring boot repackage,依赖 maven-jar-plugin 打包的jar包 重新打包成 spring boot 的jar包-->
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <version>2.2.5.RELEASE</version>
              <configuration>
                  <!--重写包含依赖,包含不存在的依赖,jar里没有pom里的依赖-->
                  <includes>
                      <include>
                          <groupId>null</groupId>
                          <artifactId>null</artifactId>
                      </include>
                  </includes>
                  <layout>ZIP</layout>
                  <!--使用外部配置文件,jar包里没有资源文件-->
                  <addResources>true</addResources>
                  <outputDirectory>${project.build.directory}</outputDirectory>
              </configuration>
              <executions>
                  <execution>
                      <goals>
                          <goal>repackage</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>

          <!--绑定到initialize生命周期,执行所有命令都会先进行清理-->
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.1.0</version>
              <executions>
                  <execution>
                      <id>auto-clean</id>
                      <phase>initialize</phase>
                      <goals>
                          <goal>clean</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>

          <!--打包跳过测试-->
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.1</version>
              <configuration>
                  <skip>true</skip>
              </configuration>
          </plugin>

          <!--编译插件-->
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.6.1</version>
              <configuration>
                  <source>${java.version}</source>
                  <target>${java.version}</target>
                  <encoding>UTF-8</encoding>
              </configuration>
          </plugin>
      </plugins>
  </build>
posted @   lwx_R  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示