Maven

1. 导入项目
    file-new-project from existing sources-选择项目根部目录,不是pom.xml

2. ssm框架导入后,需进行配置:
A.
  file-project structrue:
  modules-path设置output path(即class路径);dependecies设置jar的路径;
  libraries-添加-java-(本项目lib + tomcat lib)选择tomcat里的servlet-api.jar、jsp-api.jar。(如果JSP页面也有相关的JavaWeb对象,则还要寻找jsp-api.jar;如果只有Servlet,则只选择servlet-api.jar)
  facets-添加-web-选择本项目-web.xml和webcontent目录(注意要修改Deployment Descriptors的path 以及 Web Resource Directory,从web改为webcontent)
  artifacts-添加-web application exploded-from modules-选择本项目
           -添加-web application archive-for projectName:war exploded

导入项目后,java文件没有显示C,而是J。需要在Modules-Sources里重新加载项目(项目根目录)。

启动项目,报错:无效的源发行版: 1.9。
Project-Project language level里把level改为8。

 

B.tomcat:
  run-edit
  添加-tomcat-local
  server-给tomcat起名称,并选择本地tomcat,取消勾选after launch,设置http port和jmx port。
  deployment-添加-artifacts-选择本项目war exploded。(注意 Application context默认/,可改为本项目名称,即访问本项目接口时是否需要加项目名)

war模式(发布模式):将WEB工程打成war包,以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;即:直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
在war exploded模式下,设置On 'Update' Action、On frame deactivation为Update resources.可实现热部署。

C.打包:
  build-build artifacts-projectName:war(没有exploded)-build

D.本地起服务:
  tomcat-右键run


4. 打开maven项目:
   如果再次加载jar:右侧maven列表,同步刷新按钮。
 
   对于maven项目,每个都是一个module,需要手动添加module:
   file-project structure-Modules-添加-import Module-maven

   如果是通过file-open打开的项目,需要在maven --> 添加(+)--> 每个项目的pom.xml;
   右上角会有一个加载SDK的按钮,点击,选择SDK(一般String这类的jar没有引入,就是这个问题)。
   

5. 从git上导入项目:
方法一:
   本地下载代码后,导入项目。
   步骤1、setting-version control-添加git仓库根目录(.git所在的上级目录),关联git。
   步骤2、右下角event log- add root,关联git。(The directory D:\Git\projectName is under Git, but is not registered in the Settings.)


方法二:
   步骤1、file-new-project from version control-git-Git Repository URL:ssh://[email protected]
   例:ssh://git@ip:port/data1/redmine/GitRepository/projectName/projectName.git
   步骤2、下载完成后,会提示是否关联git。如果不关联需要按方法一手动关联。


6.java和resources文件夹应设置为:
   选中文件夹-右键-Make Directory As-Sources Root
   选中文件夹-右键-Make Directory As-Resources Root


7. 打包jar
packet-create xxx configuration-Parameters中Command line:
clean package -Pgeneral -Dmaven.test.skip=true

这个页面中的Runner页面,勾选Skip tests。


8. maven项目:
A.命令
maven package:打包到本项目,一般是在项目target目录下。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错。
maven install:打包到本地仓库,如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b时,会在本地仓库同时生成pom文件和jar文件,可以看install b的日志:
[INFO] — maven-install-plugin:2.5.2:install (default-install) @ b —
[INFO] Installing D:\java\workspace\b\target\b-2.7.4.RELEASE.jar to C:\mavenRepository\com**\b\2.7.4.RELEASE\b-2.7.4.RELEASE.jar
[INFO] Installing D:\java\workspace\b\pom.xml to C:\mavenRepository\com**\b\2.7.4.RELEASE\b-2.7.4.RELEASE.pom

maven deploy:打包上传到远程仓库,如:私服nexus等,需要配置pom文件.


module作为jar被加载到其他module中:
如何打jar到私服:
使用maven-deploy发布到私服。
根据判断是发布到releases还是snapshots(快照)。
pom文件:
0.0.1-SNAPSHOT

   
     
        org.apache.maven.plugins
        maven-compiler-plugin
       
          1.8
          1.8
          UTF-8
       

     

     
        org.apache.maven.plugins
        maven-deploy-plugin
        2.7
     

   

 

 
   
      releases
      http://ip:port/nexus/content/repositories/releases/
   

   
      snapshots
      http://ip:port/nexus/content/repositories/snapshots/
   

 

B、其他
1.maven配置:
  window-preferences-maven-user setting 设置settings.xml、repository位置。
2.如果有jar下载失败,可以直接从私服上下载到本地仓库。
3.新导入的maven工程,会有个感叹号。
  消除方法(重新构键项目):右键properties属性-java compile-building-勾选Enable project specific settings和About build whenbuid path errors occur
  将Incomplete build path和circular dependencies中的error改成warning-点击应用保存配置。


9.私服
A、登录账号:
在maven-settings.xml中:有releases和snapshots 2种账号。此id同发布到私服上的id是一样的。
   
      releases
      admin
      admin123
   

    
      snapshots
      admin
      admin123
   

B、连接私服:
maven-settings.xml中:
    
        dev
        
            
                nexus
                nexus
                http://ip:port/nexus/content/groups/public
                
                    true  
                    always
                

                
                    true
                    always
                

            

        

    

C、镜像仓库:
maven-settings.xml中:
  
      nexus
      *
      nexus
      http://ip:port/nexus/content/groups/public
   


D、如何手动将已有jar放到私服上:
1. 登录私服,选择3rd party;
2. artifact upload页面:
   A、GAV Definition--选择GAV Parameters--勾选Auto Guess--填写group、artifact、version--Packaging选择jar;
   B、选择artifact进行上传,就是jar;
   C、点击upload。
3. 在pom中引用:
   BrowseIndex-找到上传的jar-左键点击jar-在右侧出现maven应用说明,copy即可。

10. 新建分支:
在新文件夹下下载master分支。
A. 从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev

B. 创建完可以查看一下,分支已经切换到dev
git branch
    * dev
    master

C. 建立本地到上游(远端)仓的链接 --这样代码才能提交上去
git branch --set-upstream-to=origin/dev

取消对master的跟踪---这步不做!!
git branch --unset-upstream master


11. 合并分支:
一般是将master分支合并到dev分支,然后再将dev分支合并到master分支。
将master分支合并到dev分支:
在dev工程(idea):
选择master分支---Merge
如果有冲突,一个个解决即可。

12. 查不到新分支
先git pull一下,再git branch -a就可以看到了。

你可能感兴趣的:(项目管理工具,maven)