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://git@xxxx.git-clone
   例: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发布到私服。
根据<version>判断是发布到releases还是snapshots(快照)。
pom文件:
<version>0.0.1-SNAPSHOT</version>
<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF-8</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.7</version>
      </plugin>
    </plugins>
  </build>

  <distributionManagement>
    <repository>
      <id>releases</id>
      <url>http://ip:port/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
      <id>snapshots</id>
      <url>http://ip:port/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

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是一样的。
    <server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

B、连接私服:
maven-settings.xml中:
    <profile>
        <id>dev</id>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>nexus</name>
                <url>http://ip:port/nexus/content/groups/public</url>
                <releases>
                    <enabled>true</enabled>  
                    <updatePolicy>always</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>

C、镜像仓库:
maven-settings.xml中:
   <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>nexus</name>
      <url>http://ip:port/nexus/content/groups/public</url>
    </mirror>


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就可以看到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值