maven笔记

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错误

  1. <plugin>  
  2.     <artifactId>maven-compiler-plugin</artifactId>  
  3.     <configuration>  
  4.         <source>1.6</source>  
  5.         <target>1.6</target>  
  6.         <!-- 指明编译源代码时使用的字符编码,  
  7.         maven编译的时候默认使用的GBK编码,   
  8.           通过encoding属性设置字符编码,  
  9.           告诉maven这个项目使用UTF-8来编译 -->  
  10.         <encoding>utf8</encoding>   
  11.     </configuration>  
  12. </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

 

















“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值