Maven(二)Maven与ssh整合,Maven分模块开发、私服 nexus(下载、安装、上传、下载)
2017-10-31 22:32
661 查看
一、Maven与Struts2整合
1、根据Maven(一)创建出原始的Maven项目,未进行任何操作
2、在src/main/resources下面添加struts.xml配置文件
struts.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置常量 --> <!-- 字符集 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 开发模式 --> <constant name="struts.devMode" value="true"></constant> <!-- 主题 --> <constant name="struts.ui.theme" value="simple"></constant> <!-- 扩展名 --> <constant name="struts.action.extension" value="action"></constant> <!-- 通用package --> <package name="customer" namespace="/" extends="struts-default"> <action name="" class="" method=""> <result name=""></result> </action> </package> </struts>
3、在项目src-main-webapp下面添加WEB-INF文件夹,并导入web.xml文件,在其中配置struts2核心过滤器
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="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"> <!-- struts2核心过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
4、添加依赖,添加servlet-api.jar和jsp-api.jar,注意选择scope为provided
参考源码maven_02第一个版本(maven与struts2整合):https://github.com/AmazeLee/Maven.git
二、整合ssh项目
1、整合struts和maven-同上
依赖传递
只添加了一个struts2-core依赖,发现项目中出现了很多jar,这种情况 叫 依赖传递2、导入spring依赖
(1)导入依赖
(2)导入之后会存在以来版本冲突问题
(3)依赖版本冲突的解决
调节原则包含ABA 路径近者优先原则(自己添加jar包)
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.2.4.RELEASE</version> </dependency>
B 第一声明优先原则(放前面)
<!-- spring-beans.4.2.4 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!-- spring-beans.3.0.5 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>2.3.24</version> </dependency>
C 排除原则
D 版本锁定原则
3、构建项目
(1)导入准备好的pom.xml
(2)创建数据库,执行准备好的sql脚本,建实体类并写实体类映射文件
(3)导入Hibernate核心配置文件,spring核心配置文件,并进行相应修改
(4)完成dao代码,接口以及实体类,在application.xml中进行配置
(5)daojunit测试
在需要进行junit类上ctrl+nCustomerDaoImplTest.java
package com.sh.ssh.dao.impl; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.sh.ssh.dao.CustomerDao; import com.sh.ssh.entity.Customer; public class CustomerDaoImplTest { @Test public void test() { ApplicationContext app = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); CustomerDao customerDao = (CustomerDao) app.getBean("customerDao"); Customer customer = customerDao.findById(23L); System.out.println(customer.getCustName()); } }
(6)完成action代码,在application.xml中进行action的配置,在struts.xml中进行配置
(7)在web.xml中配置让spring随web启动而创建的监听器,配置spring配置文件位置参数
源码参考maven_02第二个版本(maven整合ssh完毕):https://github.com/AmazeLee/Maven.git三、分模块开发
1、创建父工程,把需要的jar都放到父工程的pom.xml中
父工程目录:
2、创建子工程
(1)dao模块,创建实体类和实体类映射文件,创建dao层接口和实现类,并在application-dao.xml进行配置,并进行junit测试
(2)service模块,创建service层接口和实现类,添加dao层依赖,在applicationContext-service.xml中进行配置,进行junit测试
(3)web模块,选择war,创建完之后在webapp下新建WEB-INF导入web.xml,创建action,在applicationContext-action.xml、struts.xml中进行配置,修改web.xml中的spring配置文件位置参数<param-value>
注意:很容易出现版本不兼容报错,在运行不出时候,调不出可以尝试换换jdk或者tomcat版本
源码参考maven-parent分支:https://github.com/AmazeLee/Maven.git四、私服 nexus
1、下载安装nexus
(1)下载地址:http://www.sonatype.org/nexus/,下载开源版本
NEXUS OSS [OSS = Open Source Software,开源软件——免费]NEXUS PROFESSIONAL -FREE TRIAL [专业版本——收费]。
(2)解压到一个文件夹里面,cmd进入命令行界面进行安装,开启服务
启动失败的解决方法:
(3)浏览器访问
(4)仓库类型
Virtual 虚拟仓库
Proxy 代理仓库
Hosted 宿主仓库 本地仓库
Group 组
需求:
把dao放到私服上,然后service从私服上下载
2、浅尝私服——需求 :将ssh_dao的这个工程打成jar包,并放入到私服上去.
(1)上传dao
第一步: 需要在客户端即部署dao工程的电脑上配置 maven环境,并修改 settings.xml 文件,配置连接私服的用户和密码 。
此用户名和密码用于私服校验,因为私服需要知道上传都 的账号和密码 是否和私服中的账号和密码 一致。<server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server>
第二步: 配置项目pom.xml
配置私服仓库的地址,本公司的自己的jar包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为release则上传到私服的release仓库,如果版本为snapshot则上传到私服的snapshot仓库<distributionManagement> <repository> <id>releases</id> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
第三步 run as-maven build-deploy进行发布
(2)下载dao
第一步 修改settings.xml
<profile> <!--profile的id--> <id>dev</id> <repositories> <repository> <!--仓库id,repositories可以配置多个仓库,保证id不重复--> <id>nexus</id> <!--仓库地址,即nexus仓库组的地址--> <url>http://localhost:8081/nexus/content/groups/public/</url> <!--是否下载releases构件--> <releases> <enabled>true</enabled> </releases> <!--是否下载snapshots构件--> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 --> <pluginRepository> <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 --> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile>进行激活
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>
第二步 删除本地仓库中的dao
第三步 update service工程
相关文章推荐
- nexus搭建maven私服及私服jar包上传和下载
- Nexus搭建Maven私服上传与下载项目
- 【Maven】Nexus(Maven仓库私服)下载与安装
- windows下集成maven+eclipse开发环境一:安装使用maven私服nexus
- nexus搭建maven私服及私服jar包上传和下载
- MyEclipse 配置maven项目pom.xml设置 上传项目到nexus私服,通过中转仓库下载插件,以及nexus的配置
- 【Maven】Nexus(Maven仓库私服)下载与安装
- maven私服注意问题-nexus搭建maven私服及私服jar包上传和下载
- Nexus OSS私服仓库的安装和配置以及与Maven整合配置
- 【Maven】Nexus(Maven仓库私服)下载与安装
- 【Maven】Nexus(Maven仓库私服)下载与安装
- 【Maven】Nexus(Maven仓库私服)下载与安装
- Nexus OSS私服仓库的安装和配置以及与Maven整合配置
- CentOS安装Nexus(Maven私有库)详细配置及上传本地jar到私服
- 建立Maven私服 – Nexus下载、安装、配置、使用
- 【Maven】Nexus(Maven仓库私服)下载与安装
- windows下集成maven+eclipse开发环境一:安装使用maven私服nexus
- maven私服nexus-bundle的安装和启动
- Centos 基础开发环境搭建之Maven私服nexus