java管理:01_maven命令

整个开发项目的管理模型

软件名 作用 详情
maven 构建工程 创建、编译、单元测试、打包、部署工程,并生成报告
myeclipse 编辑工程 编辑maven构建的工程,再交给maven编译打包部署
tomcat 发布工程 发布运行myeclipse开发、maven编译打包后的web应用
linux 运行环境 操作系统,安装运行tomcat等软件

一、安装maven

1.下载解压

apache-maven-3.5.0

2. 配置环境变量

MAVEN_HOME=安装路径
path=%MAVEN_HONE%\bin

二、Maven构建工程

1. 创建工程

  1. 自己确定一个生成代码的文件夹(建议myeclipse的workspace)
  2. 运行CMD命令,进入文件夹
  3. 确定工程的名字和模板
    • 公司或组织的名字groupID:需要修改
    • 产品的名字artifactId:需要修改
    • 确定生成maven工程的模板,web工程模板:maven-archetype-webapp
  4. 生成maven创建工程的命令
    创建web工程(含maven)(推荐)
mvn archetype:generate -DgroupId=com.guoyasoft -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
  1. archetype:generate :按照模板生成maven工程
  2. -DgroupId:公司或组织名称(域名反写)
  3. -DartifactId:工程或产品名称
  4. -DarchetypeArtifactId:生成maven工程的模板
    • maven-archetype-quickstart:生成纯maven的模板
    • maven-archetype-webapp:生成web工程的模板(包含maven)

maven工程和普通工程的区别

普通java工程 maven工程
所有文件都在src下 源文件分成多类进行管理
编译代码放在bin文件夹下 构建过程的所有文件都放target下
jar包要自建lib文件夹并build path 自带pom.xml配置文件管理jar包

2. 清除构建数据

删除整个target文件夹

## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn clean

clean是独立命令,可以和maven构建生命周期的命令组合使用,比如:

mvn clean compile
mvn clean test
mvn clean package

3. 编译

## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn compile
或
mvn clean compile (推荐)

maven compile和javac的区别

javac mvn compile
javac命令 底层也是javac命令,但还封装了其它功能
单个编译 编译整个工程
.java和.class在一起 .class文件全部集中到target文件加,与.java隔离
手动查找下载jar包 自动根据pom.xml的配置查找下载jar包
手动给classpath添加jar包路径 自动添加jar包路径

4. 单元测试

会自动先执行mvn compile,再执行mvn test

## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn test

5. package打包(jar、war、ear)

修改工程根目录的pom.xml文件

web工程名
└─src
    └─main
        ├─resources
        └─webapp
            └─WEB-INF
└─pom.xml

打成jar包还是war包,在pom.xml中进行设置:


  4.0.0
  com.guoyasoft
  my-app
  jar
  2.0

打jar包:

jar

打war包:

war

打包命令:

## 1. cmd到工程目录(即pom.xml所在目录)
## 2. 执行maven打包命令
mvn package

查看结果:

## 1. cmd 进入工程的target目录
tree /f

## 2. 查看target的内容
C:.
│  my-app3.war
│
├─classes
├─maven-archiver
│      pom.propertie
│
└─my-app3
    │  index.jsp
    │
    ├─META-INF
    └─WEB-INF
        │  web.xml
        │
        └─classes

6. install安装jar包到本地仓库

将jar包安装到本地仓库,默认按照pom.xml的groupId、artifactId和version的值进行发布。会将jar包和pom文件都传到仓库

## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn install

查看pom.xml文件,确定groupId、artifactId、version


  4.0.0
  com.guoyasoft
  my-app3
  war
  1.0
  my-app3 Maven Webapp
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    
  
  
    my-app3
  


到maven的本地仓库查找刚刚安装的jar包


或者(定制细节):groupId组织机构域名、artifactId产品名、version版本

mvn install:install-file 
-DgroupId=com.guoyasoft 
-DartifactId=my-app 
-Dversion=1.0.0 
-Dpackaging=jar 
-Dfile=C:\test\07_maven\my-app\target\my-app-1.0-SNAPSHOT.jar

7. deploy发布包jar包

jar包发布到远程仓库,war包发布到web服务器

1). 配置服务器登录信息

在%MAVEN_HOME%\conf\settings.xml中,可以配多个,传的时候选一下

        
            
                thirdparty
                admin
                admin123
            
        
            central
            admin
            admin123
        
      

2)执行命令

mvn deploy:deploy-file 
-DgroupId=com.xy.oracle 
-DartifactId=ojdbc14 
-Dversion=10.2.0.4.0 
-Dpackaging=jar 
-Dfile=E:\ojdbc14.jar 
-Durl=http://localhost:9090/nexus-2.2-01/content/repositories/thirdparty/ 
-DrepositoryId=thirdparty

Durl:上传服务器的地址
DrepositoryId:登录服务器的配置,配在%MAVEN_HOME%\conf\settings.xml的servers中

8. deploy发布包war包

jar包发布到远程仓库,war包发布到web服务器

1)tomcat配置脚本登录账户

配置文件:%TOMCAT_HOME%\conf\tomcat-users.xml


      
      

2)配置服务器登录信息

在%MAVEN_HOME%\conf\settings.xml中,可以配多个,传的时候选一下

        
            
                tomcat
                deployer
                654321
            
      

3)pom.xml配置tomcat插件

            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    http://localhost:8081/manager/text
                    tomcat
                    true
                    /HtmlWeb1
                
            

直接写用户名和密码(不推荐):

            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    http://localhost:8081/manager/text
                    deployer
                    654321 
                
            

4)部署war包

mvn clean
mvn tomcat7:redeploy

8. sit生成构建报告

在target文件夹下生成一个小网站,里面可以查看项目的各类信息,主界面index.html

mvn sit

三、本地仓库

%TOMCAT_HOME%\conf\settings.xml

  
        C:\software\apache-maven-3.5.0\repository

四、远程仓库

1. 官方仓库(默认)

https://repo1.maven.org/maven2/

2. 国内镜像库

http://maven.aliyun.com/nexus/content/groups/public

https://repository.jboss.org/maven2/

https://repository.sonatype.org/content/groups/public/

http://repo.springsource.org/libs-milestone-local

六、pom.xml配置依赖

1. 配置远程仓库


    
        
            maven
            https://repo1.maven.org/maven2/
        
        
            aliyun
            http://maven.aliyun.com/nexus/content/groups/public
        
        
            jboss
            http://repository.jboss.com/maven2/
        
        
            oschina
            http://maven.oschina.net/content/groups/public/
        
        
            codelds
            https://code.lds.org/nexus/content/groups/main-repo
        
        
            hearglobal
            http://maven.hearglobal.com/content/groups/public/
        
    

2. dependency配置依赖包

  
                
            
            org.seleniumhq.selenium
            2.50.0
            selenium-java
        

                
            
            org.testng
            testng
            6.8
        

                
        
            javax.servlet
            javax.servlet-api
            3.0.1
            provided
        

                
        
            org.freemarker
            freemarker
            2.3.20
        
                
                
        
            net.sourceforge.javacsv
            javacsv
            2.0
        

                
        
            ojdbc
            ojdbc
            14
        


                
        
            org.mybatis
            mybatis
            ${mybatis.version}
        

        
            org.mybatis
            mybatis-spring
            ${mybatis-spring.version}
        
              
               
        
            org.springframework
            spring-context
            ${spring.version}
        

  

3. 常用插件

你可能感兴趣的:(java管理:01_maven命令)