Maven-jar的生成和依赖(解决跨服务映射文件的问题)
来源:互联网 发布:奥迪a6l矩阵式led大灯 编辑:程序博客网 时间:2024/06/05 15:11
Maven生成jar的方式:
<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> <groupId>com.ching</groupId> <artifactId>springmvc</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springmvc</name> <url>http://maven.apache.org</url><!--指定下载依赖包地址(此处为本人在本地搭建的私服地址)--><repositories> <repository> <id>central</id> <name>Ching Repository</name> <url>http://127.0.0.1:8080/nexus/content/groups/public/</url> </repository><repositories> <properties> <spring.version>4.0.8.RELEASE</spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jdk.version>1.7</jdk.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> ...... </dependencies><!--编译打包配置--><build> <finalName>springmvc</finalName> <!--指定打包的资源文件路径,本地测试必须注释掉<excludes>(否则编译会排除如下资源)--> <resources> <resource> <directory>src/main/resources</directory> <excludes> <!--资源文件只保留存放mybatis dao.xml目录文件--> <!--<exclude>mappings/</exclude>--> <exclude>setting/</exclude> <exclude>mybatis/</exclude> <exclude>hive.properties</exclude> <exclude>log4j.properties</exclude> <exclude>spring-context.xml</exclude> </excludes> </resource> </resources> <plugins> <!--一跳过测试--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <!-- 配置编译插件,制定jdk版本 --> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.0</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <!-- 配置打jar包插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <!-- 必须有一下配置,否则spring 扫描不到jar包中的注入定义--> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> <!-- 配置resource插件,设定所有配置文件字符集为UTF-8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> </plugins> </build><!--指定生成的jar上传地址(此处为本人在本地搭建的私服地址)--><distributionManagement> <repository> <id>releases</id> <name>Ching Releases</name> <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Ching Snapshots</name> <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url> </snapshotRepository></distributionManagement></project>
利用intellij idea的 maven工具 执行jar生成,顺序如下:
看到这时候,你会很奇怪的问,小编你到底想干嘛呢
我想表达,很多时候我们将项目划分为很多模块,包括底层服务模块,业务处理模块,视图处理模块
以上生成jar是底层服务模块,主要存放一些service层业务,也就是数据表的操作,就所谓的增删查改
ORM用的是mybatis,资源文件mapping被编译并包含在jar里面
到底这个jar包有什么作用呢?
这一个底层服务jar将可以应用到你的所有项目当中
假设现在里面存放的是用户基础服务,当你的项目要做用户模块
直接引用这个jar,不用再重复做同样的操作数据库的代码就是所谓的 功能组件化
ok
maven依赖jar:
<!--新项目引用刚刚生成的jar,此处省略了其他配置--><dependencies> <dependency> <groupId>com.ching</groupId> <artifactId>springmvc</artifactId> <version>0.0.1-SNAPSHOT</version> <type>jar</type> </dependency></dependencies>
那么问题来了:新项目也有自己的mybatis mapping目录存放一些非基础服务的dao.xml,
此时如何顺利的将刚刚jar的mapping成功引进呢?
关键在于spring-context.xml配置文件当中,对mapping目录的映射文件的扫描,如下:
<!-- MyBatis begin --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.ching"/> <property name="typeAliasesSuperType" value="com.ching.common.persistence.BaseEntity"/> <property name="mapperLocations" value="classpath*:/mappings/**/*.xml"/> <property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"></property> </bean>
正常的mapping扫描配置:
<property name="mapperLocations" value="classpath:/mappings/**/*.xml"/>
需要修改为:
<property name="mapperLocations" value="classpath*:/mappings/**/*.xml"/>
阅读全文
1 0
- Maven-jar的生成和依赖(解决跨服务映射文件的问题)
- 解决maven中jar依赖war的问题
- idea生成maven项目的包含依赖jar包的可执行jar文件
- maven 依赖的jar包打包问题
- 怎样解决maven项目中依赖的jar包和tomcat中的jar包的冲突
- 使用Maven管理依赖JAR文件,自定义项目布局,利用ANT生成不同的发布包
- maven工程打包成runnable的jar包,拷贝资源文件和依赖jar包
- maven工程打包成runnable的jar包,拷贝资源文件和依赖jar包
- Maven的工程依赖和JAR包依赖
- 解决使用maven打包项目时,依赖jar先解压成class在打包的问题
- eclipse使用maven生成含有依赖的jar
- Maven打包生成包含所有依赖的jar包
- Maven打包生成包含所有依赖的jar包
- maven生成可以直接运行的jar(包括依赖和mainclass)
- Maven多工程依赖在Eclipse中发布到Server被依赖工程没有生成jar的问题
- 查找maven依赖的jar mvn dependency:tree解决多项目多引入jar包版本导致的问题
- Maven的Pom文件中的隐式依赖导致Jar包冲突的问题
- 解决Maven下载依赖慢的问题
- rathat网络配置
- Dubbo之——几种负载均衡算法
- 安装laravel
- 用VS制作简单dll的过程 C和c++版本
- 从今天开始写学习java的笔记
- Maven-jar的生成和依赖(解决跨服务映射文件的问题)
- 2018计算机考研----政治总结1
- HSF的原理分析
- 百度开发测试面试经验2017
- caffe 中classification.cpp的源码注释
- wireshark抓包简单查看HTTP keep-alive原理
- 八、Hbase简介
- 指针与数组--C++
- linux基本命令