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