重点:如果对jt-parent做了修改,则必须打包,否则依赖项目失效报错
问题:分布式项目中,需要使用工具类,如果每个项目都自己单独添加工具类这时会造成项目的维护不易.如果工具类发生了修改,则每个项目都需要修改!! 解决:采用jt-common项目定义工具类.由于工具类是java文件构成的,需要被别人直接的调用,所采用依赖的形式,进行注入.1.2修改jt-parent的pom.xml文件:
<!-- 集中定义依赖版本号 --> <properties> <junit.version>4.10</junit.version> <spring.version>4.1.3.RELEASE</spring.version> <mybatis.version>3.2.8</mybatis.version> <mybatis.spring.version>1.2.2</mybatis.spring.version> <mybatis.paginator.version>1.2.15</mybatis.paginator.version> <mysql.version>5.1.32</mysql.version> <bonecp-spring.version>0.8.0.RELEASE</bonecp-spring.version> <druid.version>1.0.29</druid.version> <mapper.version>2.3.2</mapper.version> <pagehelper.version>3.4.2</pagehelper.version> <jsqlparser.version>0.9.1</jsqlparser.version> <slf4j.version>1.6.4</slf4j.version> <jstl.version>1.2</jstl.version> <servlet-api.version>2.5</servlet-api.version> <jsp-api.version>2.0</jsp-api.version> <joda-time.version>2.5</joda-time.version> <commons-lang3.version>3.3.2</commons-lang3.version> <commons-io.version>2.4</commons-io.version> <commons-fileupload.version>1.3.1</commons-fileupload.version> <jackson.version>2.4.2</jackson.version> <httpclient.version>4.3.5</httpclient.version> <jedis.version>2.6.2</jedis.version> </properties> <dependencies> <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${mybatis.spring.version}</version> </dependency> <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> <version>${mybatis.paginator.version}</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- 通用Mapper --> <dependency> <groupId>com.github.abel533</groupId> <artifactId>mapper</artifactId> <version>${mapper.version}</version> </dependency> <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>${pagehelper.version}</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>${jsqlparser.version}</version> </dependency> <!-- 连接池 --> <dependency> <groupId>com.jolbox</groupId> <artifactId>bonecp-spring</artifactId> <version>${bonecp-spring.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- Jackson Json处理工具包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <!-- httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3.1</version> </dependency> <!-- 消息队列 --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.4.0.RELEASE</version> </dependency> <!-- JSP相关 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>${servlet-api.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>${jsp-api.version}</version> <scope>provided</scope> </dependency> <!-- 时间操作组件 --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${joda-time.version}</version> </dependency> <!-- Apache工具组件 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <!-- jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>${jedis.version}</version> </dependency> <!--添加spring-datajar包 --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.4.1.RELEASE</version> </dependency> <!-- 字符加密、解密 --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!-- 数据校验 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.3.Final</version> </dependency> </dependencies>只需要把老师给的pom.xml文件里面的依赖以及版本控制的代码复制在自己的负工程的pom.xml文件里面就行了
这个项目是后台管理项目,也需要运行在tomcat上,让人访问,所以骨架的方式是webapp:这样就是以war包的方式打包;注意jdk的环境不要使用默认的,用自己安装的,不然文件夹是不全的
2.1jt-manage是子工程,需要继承jt-parent父工程.
只需要在这个工程的pom.xml的Overview里面添加jt-parent为父工程就可以了.下一步:
这时候jt-manage就会继承jt-parent所添加的依赖,但是由于我们是使用骨架新建的maven项目,这样默认添加的junit依赖版本比较低,把这些项目的默认生成 的junit依赖删除就行了.需要把所有的默认的低版本的junit的测试都删掉.注意这个项目是可以让人访问的项目,是以war的打包方式打包的,是要运行在tomcat上面;所以这个子项目也得配一个tomcat的插件;配置在这个项目的pom.xml文件里面:
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>8091</port> <path>/</path> </configuration> </plugin> </plugins> </build> 只能有一个build,默认的build标签里面的内容需要删除,否则会报错,里面的<port></port>的值是可以改变的,这样就可以运行多个tomcat了.3.1新建jt-common项目:
这个项目是作为工具类的项目,所有的子项目都需要依赖这个项目,子项目可能需要使用到这个项目里面的工具类,工具类项目也是属于一个子项目,所以也得 由jt-parent来控制,所以也得在这个子项目里的pom.xml里面条件jt-parent为父亲项目;3.2把老师发的common的文件复制到这个jt-common项目里面:
复制方法:
1.选择Navigator这个视图,把里面这个src目录全部删除掉. 2.把老师给的common项目里面的src整个目录都拷贝到这个项目中去,代替原来的src目录.(这样可以方便地复制别人项目的代码--而且不需要解决一些 环境上的问题,只是代码上的问题)还需要让jt-manage项目添加jt-common的依赖;
这样就把整个环境搭建得差不多了.
使用maven发布项目:
点击这个运行按钮右边的下拉选项,选择Run Configuration选项,进行自己的配置.
按照这种方式进行配置,注意进去之后,右击Maven Build,悬着 New就可以出现这个视图了.配置完这一步之后,还没有完,还需要配置源码,否则打断点的时候,进不去源码;
由main视图切换到Source视图,点击Add...
选择select-all
这样就直接可以使用maven来运行tomcat.
点击这个按钮就直接可以运行了
问题1:
出现这个问题是以为web项目里面没有配置tomcat的插件 如果没有配置tomcat插件,就只能使用之前的方式来发布项目,并且访问时,得加上项目名问题2: 如何运行多个项目,跑多个tomcat,修改tomcat插件的端口号,就可以运行多个了.
问题:使用tomcat的一些理解
1.使用tomcat插件的话,就根本不需要用eclipse来集成tomcat了,只需要插件的一段代码
2.插件就相当于一个类,当使用tomcat插件时 ,是基于线程的,相当于new 了一个类,当程序启动时,程序会自动发布到内存中的线程中的tomcatd的webapp中进行访问
引用tommcat的好处是不会产生残存资源,内存资源将会被回收,所以不用担心资源的浪费 3.项目是运行在内存中,每一次启动tomcat都需要耗尽jvm的一部分内存,jvm默认的内存是256M,一般只能启动4台左右的tomcat.
