maven 多项目搭建

参考http://www.cnblogs.com/xdp-gacl/p/3498271.html 。

1.什么是maven

    maven是基于项目对象模型(POM),是跨平台的管理工具,主要服务于java平台的项目构建,依赖管理和项目信息管理。

2.maven的好处

    Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。

    Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

    只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情

    使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

3.安装maven

    下载地址:http://maven.apache.org/download.cgi

    下载完成后,得到一个压缩包,解压,可以看到maven的组成目录

    

     Maven目录分析

  • bin:含有mvn运行的脚本
  • boot:含有plexus-classworlds类加载器框架
  • conf:含有settings.xml配置文件
  • lib:含有Maven运行时所需要的java类库
  • LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍

  注意:在安装maven之前,要先确定本机上是否安装jak (要jdk 1.6+的版本),使用如下的两个命令检查检查JDK安装的情况。

  1 Echo %JAVA_HOME%   2 Java -version

    

  

  

  *设置环境变量:MAVEN_HOME    本人是配置在本机用户下, 配置在系统下步骤一样。

    

  *设置环境变量:Path,将%MAVEN_HOME%\bin加入Path中,一定要注意要用分号;与其他值隔开,如下图所示:

  

*测试  maven 搭建是否成功

    打开cmd窗口,输入"mvn -v"命令 查看Maven的相关信息。如图

    

    

 4.ok,进入主话题,搭建Maven 项目  ssm(springMVC+spring+mybatis)

  

    在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为domain(域模型层)、dao(数据库访问层)、service(业务逻辑     层)、web(表现层),这样分层之后,各个层之间的职责会比较明确,后期维护起来也相对比较容易,今天我们就是使用Maven来构建以上的各个层。

    一:创建 demo_parent(父类,用于给各个子模块继承)

    

  

      

      

      在pom.xml文件中  配置ssm需要的jar包。 maven jar包仓库地址  http://mvnrepository.com/  

      

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3     <modelVersion>4.0.0</modelVersion>
  4     <groupId>com.baidu</groupId>
  5     <artifactId>demo_parent</artifactId>
 6 <version>0.0.1-SNAPSHOT</version>  7 <packaging>pom</packaging>  8  9 <!-- 统一jar包版本 -->  10 <properties>  11 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  12 <spring.version>3.2.4.RELEASE</spring.version>  13 </properties>  14  15  16  17 <dependencies>  18 <dependency>  19 <groupId>commons-fileupload</groupId>  20 <artifactId>commons-fileupload</artifactId>  21 <version>1.2.1</version>  22 </dependency>  23  24 <dependency>  25 <groupId>commons-io</groupId>  26 <artifactId>commons-io</artifactId>  27 <version>1.4</version>  28 </dependency>  29  30 <dependency>  31 <groupId>com.googlecode.json-simple</groupId>  32 <artifactId>json-simple</artifactId>  33 <version>1.1</version>  34 </dependency>  35  36  37 <dependency>  38 <groupId>junit</groupId>  39 <artifactId>junit</artifactId>  40 <version>4.10</version>  41 <scope>test</scope>  42 </dependency>  43  44 <dependency>  45 <groupId>com.oracle</groupId>  46 <artifactId>ojdbc14</artifactId>  47 <version>10.2.0.1.0</version>  48 </dependency>  49  50 <dependency>  51 <groupId>com.fasterxml.jackson.core</groupId>  52 <artifactId>jackson-core</artifactId>  53 <version>2.2.3</version>  54 </dependency>  55  56  57 <dependency>  58 <groupId>org.springframework</groupId>  59 <artifactId>spring-core</artifactId>  60 <version>${spring.version}</version>  61 </dependency>  62 <dependency>  63 <groupId>org.springframework</groupId>  64 <artifactId>spring-beans</artifactId>  65 <version>${spring.version}</version>  66 </dependency>  67 <dependency>  68 <groupId>org.springframework</groupId>  69 <artifactId>spring-aop</artifactId>  70 <version>${spring.version}</version>  71 </dependency>  72 <dependency>  73 <groupId>org.springframework</groupId>  74 <artifactId>spring-context</artifactId>  75 <version>${spring.version}</version>  76 </dependency>  77 <dependency>  78 <groupId>org.springframework</groupId>  79 <artifactId>spring-web</artifactId>  80 <version>${spring.version}</version>  81 </dependency>  82 <dependency>  83 <groupId>org.springframework</groupId>  84 <artifactId>spring-tx</artifactId>  85 <version>${spring.version}</version>  86 </dependency>  87 <dependency>  88 <groupId>org.springframework</groupId>  89 <artifactId>spring-jdbc</artifactId>  90 <version>${spring.version}</version>  91 </dependency>  92 <dependency>  93 <groupId>commons-dbcp</groupId>  94 <artifactId>commons-dbcp</artifactId>  95 <version>1.4</version>  96 </dependency>  97 <dependency>  98 <groupId>org.mybatis</groupId>  99 <artifactId>mybatis</artifactId> 100 <version>3.2.7</version> 101 </dependency> 102 <dependency> 103 <groupId>org.mybatis</groupId> 104 <artifactId>mybatis-spring</artifactId> 105 <version>1.2.2</version> 106 </dependency> 107 108 109 <dependency> 110 <groupId>org.aspectj</groupId> 111 <artifactId>aspectjweaver</artifactId> 112 <version>1.8.5</version> 113 </dependency> 114 115 116 <dependency> 117 <groupId>log4j</groupId> 118 <artifactId>log4j</artifactId> 119 <version>1.2.12</version> 120 </dependency> 121 122 <dependency> 123 <groupId>com.fasterxml.jackson.core</groupId> 124 <artifactId>jackson-annotations</artifactId> 125 <version>2.2.3</version> 126 </dependency> 127 128 <dependency> 129 <groupId>com.fasterxml.jackson.core</groupId> 130 <artifactId>jackson-databind</artifactId> 131 <version>2.2.3</version> 132 </dependency> 133 134 <dependency> 135 <groupId>org.springframework</groupId> 136 <artifactId>spring-webmvc</artifactId> 137 <version>${spring.version}</version> 138 </dependency> 139 140 <dependency> 141 <groupId>org.springframework</groupId> 142 <artifactId>spring-webmvc-portlet</artifactId> 143 <version>${spring.version}</version> 144 </dependency> 145 146 <dependency> 147 <groupId>org.springframework</groupId> 148 <artifactId>spring-test</artifactId> 149 <version>${spring.version}</version> 150 </dependency> 151 152 <dependency> 153 <groupId>org.springframework</groupId> 154 <artifactId>spring-oxm</artifactId> 155 <version>${spring.version}</version> 156 </dependency> 157 158 <dependency> 159 <groupId>org.springframework</groupId> 160 <artifactId>spring-jms</artifactId> 161 <version>${spring.version}</version> 162 </dependency> 163 164 <dependency> 165 <groupId>org.springframework</groupId> 166 <artifactId>spring-expression</artifactId> 167 <version>${spring.version}</version> 168 </dependency> 169 170 <dependency> 171 <groupId>org.springframework</groupId> 172 <artifactId>spring-context-support</artifactId> 173 <version>${spring.version}</version> 174 </dependency> 175 176 <dependency> 177 <groupId>org.springframework</groupId> 178 <artifactId>spring-instrument</artifactId> 179 <version>${spring.version}</version> 180 </dependency> 181 182 <dependency> 183 <groupId>org.springframework</groupId> 184 <artifactId>spring-instrument-tomcat</artifactId> 185 <version>${spring.version}</version> 186 </dependency> 187 188 <dependency> 189 <groupId>org.springframework</groupId> 190 <artifactId>spring-aspects</artifactId> 191 <version>${spring.version}</version> 192 </dependency> 193 194 <dependency> 195 <groupId>org.springframework</groupId> 196 <artifactId>spring-aop</artifactId> 197 <version>${spring.version}</version> 198 </dependency> 199 200 <dependency> 201 <groupId>javax.servlet</groupId> 202 <artifactId>javax.servlet-api</artifactId> 203 <version>3.0.1</version> 204 <scope>provided</scope> 205 </dependency> 206 <dependency> 207 <groupId>javax.servlet</groupId> 208 <artifactId>jsp-api</artifactId> 209 <version>2.0</version> 210 <scope>provided</scope> 211 </dependency> 212 <dependency> 213 214 215 <groupId>javax.servlet</groupId> 216 <artifactId>jstl</artifactId> 217 <version>1.2</version> 218 </dependency> 219 <dependency> 220 <groupId>commons-pool</groupId> 221 <artifactId>commons-pool</artifactId> 222 <version>1.5.3</version> 223 </dependency> 224 225 </dependencies> 226 </project>

 二: 创建 demo_domain (模型层)

  步骤如上,右键-》new-》maven project->(直接)next->next->finish

    

    生产项目如下:

    

    在pom.xml中 配置依赖关系

    

<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><artifactId>demo_domain</artifactId><packaging>jar</packaging><name>demo_domain</name><url>http://maven.apache.org</url><!-- 依赖父类  demo_parent --><parent><groupId>com.baidu</groupId><artifactId>demo_parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../garden_partent/pom.xml</relativePath></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

    三:创建demo_service  和 demo_dao   步骤和 demo_domain一样

 

 四:创建demo_web (filter:mave-archetype-webapp)

 

  

  

 五:把项目进行整合。加入 ssm整合的 配置文件 在各个项目中配置相应的xml

  1.在 demo_web中 配置springMVC.xml文件  扫描controller层

  

  

  

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5 xmlns:p="http://www.springframework.org/schema/p"  6 xmlns:context="http://www.springframework.org/schema/context"  7 xmlns:mvc="http://www.springframework.org/schema/mvc"  8 xsi:schemaLocation="http://www.springframework.org/schema/beans  9 http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 10 http://www.springframework.org/schema/context 11 http://www.springframework.org/schema/context/spring-context-3.2.xsd 12 http://www.springframework.org/schema/mvc 13 http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 14 15 16 <context:component-scan base-package="com.baidu.*.controller"/> 17 <mvc:annotation-driven/> 18 <mvc:default-servlet-handler/> 19 20 21 <!-- ========================= 视图 解析器 ========================= --> 22 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 23 <property name="prefix" value="/WEB-INF/"/> 24 <property name="suffix" value=".jsp"/> 25 </bean> 26 27 28 </beans>

  

 

    web.xml的配置(springMVC的核心控制器... ...)

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 3   <display-name>ssm</display-name>
 4   
 5   
 6  7 <!-- spring MVC核心控制器  8  9  springmvc配置文件 默认 10 位置:WEB-INF 11 名称: [servlet-name]-servlet.xml 12 --> 13 <servlet> 14 <servlet-name>springmvc</servlet-name> 15 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 16 17 <init-param> 18 <param-name>contextConfigLocation</param-name> 19 <param-value>classpath*:conf/**/springmvc.xml</param-value> 20  </init-param> 21 22 23  <!-- 配置加载顺序 --> 24  <load-on-startup>1</load-on-startup> 25 26 27  </servlet> 28 29  <servlet-mapping> 30  <servlet-name>springmvc</servlet-name> 31  <url-pattern>/</url-pattern> 32  </servlet-mapping> 33 34 35 36 37  <!-- 编码过滤器 --> 38  <filter> 39  <filter-name>encoding</filter-name> 40  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 41  <init-param> 42  <param-name>encoding</param-name> 43  <param-value>UTF-8</param-value> 44  </init-param> 45  </filter> 46 47  <filter-mapping> 48  <filter-name>encoding</filter-name> 49  <url-pattern>/*</url-pattern> 50  </filter-mapping> 51 52 53 54  <!-- spring 加载的监听器 55  加载spring配置文件 默认 WEB-INF 名称 applicationContext.xml 56  --> 57 58  <context-param> 59  <param-name>contextConfigLocation</param-name> 60  <param-value>classpath*:conf/**/spring*.xml</param-value> 61 </context-param> 62 63 <listener> 64 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 65 </listener> 66 67 68 <!-- 定义LOG4J监听器 --> 69 <listener> 70 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 71 </listener> 72 73 74 <welcome-file-list> 75 <welcome-file>index.html</welcome-file> 76 <welcome-file>index.htm</welcome-file> 77 <welcome-file>index.jsp</welcome-file> 78 <welcome-file>default.html</welcome-file> 79 <welcome-file>default.htm</welcome-file> 80 <welcome-file>default.jsp</welcome-file> 81 </welcome-file-list> 82 </web-app>

 

  

2.在 demo_service 下的  src/main/resources 中放入spring.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6 xmlns:mvc="http://www.springframework.org/schema/mvc"  7 xmlns:tx="http://www.springframework.org/schema/tx"  8 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd  9 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 10 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 11 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 12 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> 13 14 15 <context:component-scan base-package="com.baidu.*.service"/> 16 17 18 <!-- 配置事务管理器 --> 19 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 20 <property name="dataSource" ref="dataSource" /> 21 </bean> 22 23 24 <!-- 事务处理 --> 25 26 <aop:config> 27 <aop:pointcut expression="execution(* com.baidu.*.service..*.*(..))" id="trPointcut"/> 28 <aop:advisor advice-ref="trAdvice" pointcut-ref="trPointcut"/> 29 </aop:config> 30 31 <tx:advice id="trAdvice" transaction-manager="transactionManager"> 32 <tx:attributes> 33 <tx:method name="doAddED*" propagation="REQUIRED"/> 34 <tx:method name="add*" propagation="REQUIRED"/> 35 <tx:method name="insert*" propagation="REQUIRED"/> 36 <tx:method name="update*" propagation="REQUIRED"/> 37 <tx:method name="del*" propagation="REQUIRED"/> 38 <tx:method name="get*" propagation="REQUIRED"/> 39 <tx:method name="*" propagation="REQUIRED" read-only="true"/> 40 </tx:attributes> 41 </tx:advice> 42 43 44 45 46 </beans>

 

3.demo_dao 下的  src/main/resources 中放入spring.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6 xmlns:mvc="http://www.springframework.org/schema/mvc"  7 xmlns:tx="http://www.springframework.org/schema/tx"  8 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd  9 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 10 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 11 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 12 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> 13 14 15 <context:property-placeholder location="classpath*:conf/**/jdbc.properties"/> 16 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 17 <property name="driverClassName" value="${jdbc.driverClassName}"/> 18 <property name="url" value="${jdbc.url}"/> 19 <property name="username" value="${jdbc.username}"/> 20 <property name="password" value="${jdbc.password}"/> 21 <!-- 连接池启动时的初始值 --> 22 <property name="initialSize" value="${initialSize}"/> 23 <!-- 连接池的最大值 --> 24 <property name="maxActive" value="${maxActive}"/> 25 <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --> 26 <property name="maxIdle" value="${maxIdle}"/> 27 <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --> 28 <property name="minIdle" value="${minIdle}"/> 29 <!-- 是否启用超时自动移除空闲连接 --> 30 <property name ="removeAbandoned" value="false"></property> 31 <!-- 超时时间(以秒数为单位) --> 32 <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}"/> 33 <!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 --> 34 <property name="maxWait" value="${maxWait}"/> 35 36 </bean> 37 38 39 40 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 41 <property name="dataSource" ref="dataSource"></property> 42 <!-- <property name="configLocation"> 43 <value>classpath:mybatis-config.xml</value> 44 </property> --> 45 <!-- 配置实体别名 --> 46 <property name="typeAliasesPackage"> 47 <value>com.baidu.entity</value> 48 </property> 49 <!-- 配置映射文件加载 --> 50 <property name="mapperLocations"> 51 <value>classpath*:com/baidu/entity/*.xml</value> 52  </property> 53  </bean> 54 55 56 57  <!-- 在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候, 58  设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.username} 59  这样之类的表达式,将无法获取到properties文件里的内容。 导致这一原因是因为,MapperScannerConigurer 60  实际是在解析加载bean定义阶段的,这个时候要是设置sqlSessionFactory的话,会导致提前初始化一些类,这个时候, 61  PropertyPlaceholderConfigurer还没来得及替换定义中的变量,导致把表达式当作字符串复制了。 但如果不设置 62  sqlSessionFactory 属性的话,就必须要保证sessionFactory在spring中名称一定要是sqlSessionFactory , 63  否则就无法自动注入。 64  解决方案: 65  改用sqlSessionFactoryBeanName注入就没有问题(不要使用sqlSessionFactory属性注入, 66  使用sqlSessionFactoryBeanName注入),因为这时不会立即初始化sqlSessionFactory,传入的只是名字, 67  非bean,所以不会引发提前初始化问题。 68  --> 69 70  <!-- 配置bean 自动扫描所有mapper 自动给Mapper接口产生代理类对象 并且给代理对象注入SqlSessionFactory--> 71  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 72  <property name="basePackage"> 73  <value>com.baidu.dao</value> 74  </property> 75 76  <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> 77  <!-- <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> --> 78  </bean> 79 80 </beans>

4.在pom.xml配置文件中 配置依赖管理

  

  1.demo_web 中的 pom.xml 加入

  

  

1 <dependencies>
2         <dependency>
3             <groupId>com.baidu</groupId>
4             <artifactId>demo_service</artifactId>
5             <version>${project.version}</version>
6 </dependency> 7 </dependencies>

  

  2.demo_service 中的pom.xml 加入

1  <dependencies>
2        <dependency>
3             <groupId>com.baidu</groupId>
4             <artifactId>demo_dao</artifactId>
5             <version>${project.version}</version>
6 </dependency> 7 </dependencies>

  3.demo_dao 中的pom.xml 加入

1   <dependencies>
2     <dependency>
3             <groupId>com.baidu</groupId>
4             <artifactId>demo_domain</artifactId>
5             <version>${project.version}</version>
6 </dependency> 7 </dependencies>

4.demo_parent 中的pom.xml 加入

 1 <!--  管理子项目的xml文件和资源文件 -->
 2     <build>
 3         <resources>
 4             <resource>
 5                 <directory>src/main/java</directory>
 6 <includes>  7 <include>**/*.xml</include>  8  </includes>  9  </resource> 10  <resource> 11  <directory>src/main/resources</directory> 12  <includes> 13  <include>**/*.xml</include> 14 <include>**/*.properties</include> 15  </includes> 16  </resource> 17  </resources> 18  </build>

 

1     <!-- 父类里包含的模块 -->
2   <modules>
3     <module>../demo_dao</module>
4     <module>../demo_service</module>
5     <module>../demo_web</module>
6 <module>../demo_domain</module> 7 </modules>

 

 

 

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4 
 5   <artifactId>demo_domain</artifactId>
 6 <packaging>jar</packaging>  7  8 <name>demo_domain</name>  9 <url>http://maven.apache.org</url> 10 11 <!-- 依赖父类 demo_parent --> 12 <parent> 13 <groupId>com.baidu</groupId> 14 <artifactId>demo_parent</artifactId> 15 <version>0.0.1-SNAPSHOT</version> 16 <relativePath>../garden_partent/pom.xml</relativePath> 17 </parent> 18 19 <properties> 20 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 21 </properties> 22 23 24 </

六。 右键 -> run as ->Maven install      可以自动执行编译,测试,打包等构建过程  进行测试

  项目 搭建完成。

转载于:https://www.cnblogs.com/majun520/p/5039346.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rog live service是什么_双11手机怎么买?ROG游戏手机3“独一份”体验,值得剁手...

对于追求极致的手游党来说&#xff0c;手机设备性能的强悍极为重要&#xff0c;毕竟时刻影响着流畅性与游戏体验。纵观当下手机厂商推出的游戏手机来看&#xff0c;ROG游戏手机3可以说是目前性能最强的游戏手机&#xff0c;在下半年发布的多款旗舰均没能领先过ROG。这也证明了我…

SQL Server 2005将某些数据库行为设置为与指定的 SQL Server 版本兼容

语法 sp_dbcmptlevel [ [ dbname ] name ] [ , [ new_cmptlevel ] version ]参数 [ dbname ] name要为其更改兼容级别的数据库的名称。数据库名称必须符合标识符的规则。name 的数据类型为 sysname&#xff0c;默认值为 NULL。 [ new_cmptlevel ] version数据库要与之兼容的…

oracle 优化分组 sql语句,Oracle SQL语句之常见优化方法 五

0、低效SQL语句查询:SELECT b.sql_text, --SQL內容a.sid,a.serial#,a.status,a.machine, --哪台机器運行的SQLa.username, --用戶a.module, --運行方式a.action, --Responsibilityc.opname,c.target,c.message,c.sofar totalwork * 100, --工作執行了百分之多少c.elapsed_secon…

我将 20 年前开发的操作系统迁移到 .NET 6,竟然成功了!

作者 | Scott Hanselman译者 | 弯月早在2001年&#xff0c;我用C#为学校的一门300系列的操作系统课程编写了一个微型虚拟操作系统&#xff0c;后来在2002年将其移植到了VB.NET。这些都是在.NET Core出现之前的代码&#xff0c;基于Windows早期的.NET 1.1或2.0。五年前&#xff…

bzoj2132: 圈地计划

要分成两坨对吧。。 所以显然最小割 但是不兹辞啊。。 最小割是最小的啊 求最大费用怎么玩啊 那咱们就把所有费用都加起来&#xff0c;减掉一个最小的呗 但是两个属于不同集合的点贡献的价值是负的啊 网络流怎么跑负的啊 那咱就交换一下呗 原图是二分图啊&#xff0c;把另一部分…

BEVFormerV2 论文阅读

论文链接 BEVFormer v2: Adapting Modern Image Backbones to Bird’s-Eye-View Recognition via Perspective Supervision 0. Abstract 提出了一种新颖的 BEV 检测器&#xff0c;具有透视监督&#xff0c;收敛速度更快&#xff0c;更适合现代图像基础架构优先考虑通过引入透…

光磁记录实现数据冷存储

通过一定强度的短脉冲可以在掺杂了钴离子的钇铁石榴石的磁性层上记录数据。据开发商介绍&#xff0c;这种新颖的光学存储机制有可能成为一种通用的、节能型数据存储技术&#xff0c;并替代现有的存储技术&#xff0c;这源于该技术能够完成超低热度的快速磁盘读写过程&#xff0…

aop在项目中的实际运用_【消防验收】防火玻璃在实际运用中的四大关键问题

扫码入群&#xff0c;与消防企业同行交流&#xff01;防火玻璃虽然开始在建筑中大量使用&#xff0c;但如何正确使用防火玻璃&#xff0c;使用哪种类型的防火玻璃&#xff0c;哪些部位可以使用防火玻璃等问题在实际运用中仍有很多盲区。同时&#xff0c;很多建设单位、设计单位…

CondenserDotNet - 使用 Kestrel 和 Consul 的 API 反向代理库!

简介CondenserDotNet - 使用 Kestrel 和 Consul 的 API 反向代理库&#xff01;特点•Consul 客户端库&#xff0c;包括服务注册、发现和配置•反向代理•交互式 UI&#xff0c;用于查看有关代理的统计信息配置示例配置遵循 LIFO 策略&#xff0c;以最后注册的配置为准var conf…

pdf转tiff

概述 基于Java&#xff0c;将pdf转成单一的tiff文件。 MAVEN依赖 <groupId>com.sun.media</groupId><artifactId>jai_codec</artifactId><version>1.1-mr</version> </dependency> <dependency><groupId>javax.media<…

配置PHP启动Apache服务报错

为什么80%的码农都做不了架构师&#xff1f;>>> 在新的服务器&#xff08;centos 6.3&#xff09;编译安装完php-5.4.8&#xff0c;再配置好php.ini和httpd.conf后&#xff0c;启动apache-2.4.3的时候&#xff0c;命令执行/usr/local/apache2/bin/apachectl start时…

嵌入式WiFi芯片价格战已经打响 MCU企业该醒悟了

在物联网万物互联的驱动下&#xff0c;无可厚非&#xff0c;嵌入式WiFi芯片市场成为了“引爆点”&#xff0c;预计2016年的总出货量将达到1亿颗。面对如此巨大的“诱惑”&#xff0c;国内外WiFi芯片企业自然干劲十足&#xff0c;本想好好大干一场。万万没想到&#xff0c;WiFi芯…

linux系统下图像处理开发板,Linux系统入门教程:五大图像处理软件

发文章时&#xff0c;总免不了要用图片说话。经过长时间的磨合&#xff0c;在Linux桌面系统下有几款图片处理软件我已经用得比较顺手了。这几款软件在Linux世界使用广泛&#xff0c;各个Linux发行版的软件仓库中都有自带的安装包&#xff0c;而且这几款软件运行稳定、界面美观。…

BZOJ1001 狼抓兔子 终于过了!

时间来不及了&#xff0c;先贴代码吧&#xff01;有时间再写。 好苦逼啊&#xff0c;WA了若干次&#xff0c;还有一次RE&#xff0c;一次TLE。 虽然主要运用的算法和资料都由师兄提供了。还是太弱了&#xff0c;太天真了。 首先&#xff0c;数据范围就WA了&#xff0c;RE了&…

如何使用GeneralUpdte构建客户端自动升级功能

一、概要本篇文章将向各位小伙伴介绍GeneralUpdate组件的使用&#xff0c;帮助第一次接触开发者快速上手应用在自己或企业项目中。如果本篇文章对您有帮助&#xff0c;希望帮忙点一下star。感谢各位开发者的支持。帮助文档讲解视频&#xff1a;https://www.bilibili.com/video/…

30道四则运算题目---课堂作业--软件工程c++

问题&#xff1a;设计一程序&#xff0c;给二年级小学生随机产生四则运算题目。 一、设计思考问题&#xff1a; 1.四则运算需要俩个运算数和一个运算符。 2.如何产生随机数? 3.如何实现随机产生四则运算&#xff1f; 4.题目是否符合小学生学习范围&#xff1f;&#xff08;减法…

javascript 函数属性prototype(转)

在JavaScript中并没有类的概念&#xff0c;但javascript中的确可以实现重载&#xff0c;多态&#xff0c;继承。这些实现其实方法都可以用JavaScript中的引用和变量作用域结合prototype来解释。 1、prototype 在JavaScript中并没有类的概念&#xff0c;但JavaScript中的确可以实…

java离职交接文档_财务人员工作交接你知道么?没处理好不止将来风险大还可能违法...

今天给大家分享一下在工作中&#xff0c;财务人员应该怎么保护自己&#xff1f;1.虚假报销那些事儿在企业内部报销程序中&#xff0c;部分管理人员往往安排下属或助理经办报销程序&#xff0c;所有的费用申请、报销单据的填写均系下属完成&#xff0c;而一旦虚假报销案件浮出水…

SQL Server 数据库没有有效所有者的三种解决办法

问题描述: 开发的过程中,操作系统出了问题,决定重装系统。但是没有将SQL Server中的数据库文件分离出来,直接将系统格了。在新系统数据库中附加了数据库文件,一切还算正常,但当打开数据库关系图的时候出现了问题,如下图所示: 针对以上问题,网上有很多解决办法,但是由…

Javascript:原型模式类继承

原型模式每个函数&#xff08;准确说不是类、对象&#xff09;都有一个prototype属性&#xff0c;这个属性是一个指针&#xff0c;指向一个对象。使用原型对象的好处是可以让所有对象实例共享它包含的属性和方法。1.原型对象&#xff08;1&#xff09;当创建一个新函数&#xf…