http://www.yiibai.com/maven/maven_build_automation.html
上的文章超级好。保存下来,以供查阅。
本地私服 http://blog.csdn.net/whh743/article/details/53561378
1.安装java
2.配置MAVEN_HOME环境变量指向maven目录
M2_HOME也要
我的指向D:\apache-maven-3.3.9-bin\apache-maven-3.3.9
3.path中添加%maven_home%\bin
4.mvn -version显示成功。
5.为了防止系统重装,将conf/settings.xml
<localRepository>d:/mvnPository</localRepository>
6.在MyEclipse中window>prefefence>MyEclipse>Maven4MyEclipse>Installations>add 你的maven路径。
在MyEclipse中window>prefefence>MyEclipse>Maven4MyEclipse>User Settings指向的文件不存在时要复制一个。
7. 我的版本是apche-maven-3.3.9,
MyEclipse中window>prefefence>Java>Installed JREs>选择1.7jdk.
必须是1.7.
如果安装错误了,可以安装1.7后再工程-属性-MyEclipse-Project Facets-java中选择1.7
Edit中写入:Default VM Arguments:-Dmaven.multiModuleProjectDirectory=$M2_HOME
8.建立一个Maven Project. pom如下:
<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>cn.itcast.bos</groupId>
<artifactId>mavenbos</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>mavenbos</name>
<description>zjs</description>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<!-- Struts 2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.7</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.3.7</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.7</version>
</dependency>
<!-- hibernate 3.6 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency>
<!-- JPA -->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<!-- Servlet & Jsp -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope> <!-- 只在编译和测试环境下使用,不参与打包运行,默认值Runtime-->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<!-- log4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<!-- C3P0 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 早期tomcat maven plugin 使用 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<port>80</port>
<!-- tomcat6.x -->
<!-- <url>http://localhost:8080/manager</url> -->
<!-- tomcat7.x -->
<url>http://localhost:8080/manager/text</url>
<server>myserver</server>
</configuration>
</plugin>
</plugins>
</build>
</project>
c:\...settings.xml中servers标签中加入
<server>
<id>myserver</id>
<username>tomcat</username>
<password>123456</password>
</server>
tomcat7下tomcat-users.xml加入
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="123456" roles="manager-gui, manager-script"/>
有时要
<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="admin-script"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="admin,manager,manager-gui,manager-script,admin-script,admin-gui"/>
完成动态的发布
run as>maven build>tomcat:deploy 或 tomcat:undeploy
有时候会出现GBK错误
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <!-- 指明编译源代码时使用的字符编码,
- maven编译的时候默认使用的GBK编码,
- 通过encoding属性设置字符编码,
- 告诉maven这个项目使用UTF-8来编译 -->
- <encoding>utf8</encoding>
- </configuration>
- </plugin>
对于js这是编码环境问题
在MyEclipse环境下, 右键点击项目 最下面的“properties” -> resource -> Text file encoding 下面有两个选项,选择 other ,然后 右边下拉框中选择 utf8 ,再点下面的 应用,如果还是乱码,那就在下拉框中选择其它 的编码形式。
9.完成ssh的整合。
web.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>BOS</display-name>
<!-- spring配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- spring核心监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- struts核心控制器 -->
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<!-- 欢迎页面 -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
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.devMode" value="true" />
<!-- 修改 form 默认布局样式 -->
<constant name="struts.ui.theme" value="simple"></constant>
<package name="basicstruts2" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
<!-- 需要进行权限控制的页面访问 -->
<action name="page_*_*">
<result type="dispatcher">/WEB-INF/pages/{1}/{2}.jsp</result>
</action>
<!-- 登录功能 -->
<action name="login" class="loginAction" >
<result name="input"> /login.jsp </result>
<result type="redirect"> /index.jsp </result>
</action>
</package>
</struts>
applicatinContext.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<import resource="classpath:applicationContext-common.xml"/>
<import resource="classpath:applicationContext-dao.xml"/>
<import resource="classpath:applicationContext-service.xml"/>
<import resource="classpath:applicationContext-action.xml"/>
</beans>
applicationContext-common.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<!-- 使用注解注入对象 -->
<context:annotation-config />
<!-- 整合Hibernate 配置 -->
<!-- 加载属性文件 -->
<context:property-placeholder location="classpath:config.properties"/>
<!-- 数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="testOnBorrow" value="true"></property>
<property name="testOnReturn" value="true"></property>
<property name="testWhileIdle" value="true"></property>
<property name="validationQuery" value="SELECT 1"></property>
<property name="timeBetweenEvictionRunsMillis" value="1800000"></property>
<property name="minEvictableIdleTimeMillis" value="1800000"></property>
</bean>
<!-- 配置SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- 配置hibernate 属性 ,参考 hibernate.properties 文件 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 映射hbm -->
<property name="mappingDirectoryLocations" value="classpath:cn/itcast/bos/domain"></property>
</bean>
<!-- 配置事务 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 事务管理 通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 对哪些方法采用 ,设置哪些事务管理属性 -->
<tx:attributes>
<!-- 查询相关方法 -->
<tx:method name="get*" propagation="REQUIRED" isolation="DEFAULT" read-only="true"/>
<tx:method name="find*" propagation="REQUIRED" isolation="DEFAULT" read-only="true"/>
<tx:method name="list*" propagation="REQUIRED" isolation="DEFAULT" read-only="true"/>
<!-- 增删改方法 -->
<tx:method name="save*" propagation="REQUIRED" isolation="DEFAULT"/>
<tx:method name="add*" propagation="REQUIRED" isolation="DEFAULT"/>
<tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT"/>
<tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT"/>
<tx:method name="*" propagation="REQUIRED" isolation="DEFAULT"/>
</tx:attributes>
</tx:advice>
<!-- aop切面 -->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.itcast.bos.service.impl..*(..))"/>
</aop:config>
</beans>
因为采用了连接池,在mysql的my.ini中
[mysqld]
character-set-server=utf8
wait_timeout=31536000
interactive_timeout=31536000
详细情况请下载源码。
对于使用新的eclipse的更简单。
eclipse-jee-mars-2-win32-x86_64下
https://www.cnblogs.com/noteless/p/5213075.html
1.新建maven项目,如果不在上面,请到other里面去找一下
2,进入maven项目之后,点击next,选择webapp之后 next
输入两个id package可以不写,是它默认帮你新建一个包,不写没关系
2,配置maven
首先新建几个文件夹
2.1 添加Source文件夹
接下来需要添加
src/main/java
src/test/java
src/test/resources三个文件夹
右键项目根目录点击New -> Source Folder,
建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
项目或者文件加上右键 new sourceFolder,正常情况下是没有问题的
buildpath jre 1.5切换为高版本的。如1.7
2.2 更改class路径
右键项目,Java Build Path -> Source
下面应该有4个文件夹。src/main/java,src/main/resources,src/test/java ,src/test/resources。
双击每个文件夹的Output folder,选择路径。
src/main/java,src/main/resources,选择target/classes;
src/test/java ,src/test/resources, 选择target/test-classes;
选上Allow output folders for source folders.(如果没有选上的话)
右键属性 project Facets
想要切换成3.0发现报错
这是因为新建项目的时候
用了maven-artchetype-webapp
由于这个catalog比较老,用的servlet还是2.3的
web.xml改为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Archetype Created Web Application</display-name>
</web-app>
-------------
项目下文件:org.eclipse.jdt.core.prefs中1.5改为1.7
org.eclipse.wst.common.project.facet.core 改为如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v7.0"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.7"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
新打开属性 project Facets,看到这个地方已经修改成3.0; 勾选上tomcat
项目工程创建完成
new 一个server
启动之后看看有无报错,目前没有
最好将项目》属性》左边build path >compile le 由1.5改为1.7 http://linhfgo.iteye.com/blog/1470996
修改路径是,在myeclipse下:Windows--Preferences--Java--Compiler,在右边的Compiler compliance level 修改版本为 6.0,就可以了 {Windows->Preferences->Java->Compiler “configure project specific
settings”, Change from java 1.5 (5.0) to 1.6 (6.0) and then “yes” rebuild project。 这个要详细些,其实 跟前面一样}
此时,会发现 做了上面步骤,为啥还要报错,那是因为 导入的项目,还没把jre 变为6.0,解决办法为:项目右键->build path->configure build path->java Compiler(左边那排中) ->在右边的Compiler compliance level 修改版本为 6.0