• 关于Maven


    创建一个maven项目
    通过命令创建
    archetype 原型 骨架 项目结构(空项目) maven创建了很多常用的项目结构 Java项目 web项目 通过命令可以下
    载对应的空项目
    maven-archetype-quickstart java空项目
    maven-archetype-webapp web项目
    mvn archetype:generate -DgroupId=组

    maven项目规范 项目结构
    dangdangmaneger
    src/main/java Java源代码
    src/main/resources 配置文件
    src/main/webapp web相关
    src/test/java 测试源代码
    src/test/resources 测试相关配置文件
    pom.xml maven核心配置文件
    targer 源代码输入目录 编译后

     

    关于pom的配置:下面这些关于经常使用的jar包,不过像远程连接一般下载都会比较慢,我一般用的都是在setting里面配置阿里私服地址

    <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>com.baizhi</groupId>
    <artifactId>cmfzms</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>cmfzms_gaozhy</name>
    <description />

    <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- spring版本号 -->
    <spring.version>3.2.4.RELEASE</spring.version>
    <!-- mybatis版本号 -->
    <mybatis.version>3.2.4</mybatis.version>
    <!-- log4j日志文件管理包版本 -->
    <slf4j.version>1.6.6</slf4j.version>
    <log4j.version>1.2.9</log4j.version>
    </properties>

    <dependencies>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <!-- scope=compile 的情况(默认compile),也就是说这个项目在编译、测试,运行阶段都需要这个artifact对应的jar包在classpath中 -->
    <!-- scope=provided ,则可以认为这个provided是目标容器已经provided这个artifact,它只影响到编译、测试阶段,运行阶段,假定目标容器已经提供了这个jar包 -->
    <scope>provided</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/jstl/jstl -->
    <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    </dependency>

    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.9</version>
    <scope>test</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
    </dependency>


    <!-- 上传组件包 -->
    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.1</version>
    </dependency>

    <dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
    </dependency>

    <dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.9</version>
    </dependency>

    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.1.41</version>
    </dependency>

    <dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>jsp-api</artifactId>
    <version>6.0.32</version>
    <scope>provided</scope>
    </dependency>

    <!-- spring 核心包 -->
    <!-- springframe start -->

    <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
    <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.7.1</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-oxm</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${spring.version}</version>
    </dependency>

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${spring.version}</version>
    </dependency>
    <!-- springframe end -->

    <!-- mybatis核心包 -->
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
    </dependency>

    <dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
    </dependency>

    <!-- mybatis/spring包 -->
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.2</version>
    </dependency>

    <!-- mysql -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.18</version>
    </dependency>

    <!-- shiro core -->
    <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core -->
    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.3.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-web -->
    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-web</artifactId>
    <version>1.3.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-spring -->
    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.3.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-ehcache -->
    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-ehcache</artifactId>
    <version>1.2.6</version>
    </dependency>

    <!-- 数据源包 -->
    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.2</version>
    </dependency>

    <!-- 日志文件管理包 -->
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>${log4j.version}</version>
    </dependency>

    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
    </dependency>

    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>${slf4j.version}</version>
    </dependency>
    <!-- log end -->

    <!-- execl操作相关 -->
    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.12</version>
    </dependency>
    <dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
    </dependency>

     

    <!-- google验证码 -->
    <dependency>
    <groupId>com.google.code.kaptcha</groupId>
    <artifactId>kaptcha</artifactId>
    <version>2.3</version>
    </dependency>
    </dependencies>

    <build>
    <!-- 定制打包后的包名 -->
    <finalName>cmfzms_gaozhy</finalName>
    <plugins>
    <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
    <source>1.7</source>
    <target>1.7</target>
    </configuration>
    </plugin>
    <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <version>3.0</version>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
    </plugin>
    </plugins>
    </build>
    </project>

    maven的优点:

    (1).自动管理依赖
    依赖dependency 实际上指的jar包
    管理jar包 主要是管理jar包关系(互相依赖)
    struts-core.jar -----> xwork-core.jar struts-core需要使用 xwork-core中的方法和类
    a---->b---->c-----d 需要使用a 必须导入bcd 自己找没法找
    (2).减少磁盘空间哦!

    jar安装不上怎么办!!!

    例:问题

      个别jar包安装不到本地仓库 例如:验证码kaptcha ojdbc等等
    解决方法
      手动安装jar包 kaptcha
    1. 需要一个jar包 kaptcha-2.3.2.jar 路径是:E:kaptcha-2.3.2.jar
    2. 清理本地失效jar包 运行工具
    3. 使用命令把jar包安装到本地仓库

    命令格式:
    mvn install:install-file -Dfile=jar包的路径加文件名 -DgroupId=组织名称 -DartifactId=项
    目名(jar包名) -Dversion=版本号 -Dpackaging=jar

    关于maven项目调错的通用做法 【主要靠经验】
    1. 环境 JDK IDEA maven tomcat 【分开测试】
      1. JDK maven 命令验证
      2. IDEA 没有花里胡哨的插件(特指汉化插件)
      3. tomcat bin文件夹下面startup.bat
    2. jar包
      1. 运行删除失效jar包工具 maven batch.bat 【一般情况】
      2. 查看pom文件中版本冲突jar

        1. maven projects中show dependencies 看jar关系视图
        2. 查看是否有jar包版本冲突
      3. 未知错误 少jar包 少方法等
    3. 代码错误 【多测试】
      1. dao写完一定要测试
      2. service写完一定要测
      3. 请使用单元测试 Junit

    仅供参考谢观阅...

  • 相关阅读:
    python模块之sys与os
    Python模块之time、datetime
    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
    js闭包
    js删除局部变量
    数据库 事务
    jQuery全屏滚动插件fullPage.js
    jdk环境变量
    MyEclipse优化设置(最详细版本)
    oracle查询性能优化
  • 原文地址:https://www.cnblogs.com/490889763-qq/p/10183784.html
Copyright © 2020-2023  润新知