由于最近要从Myeclipse中将一个项目转到Intellij idea,但是我没有进行直接导入eclipse项目,我就想重新建一个java WEB项目,并利用Maven进行管理,正好重新认识一下Intellij 。如果想将项目直接从eclipse导入到Intellij,可以直接搜索如何导入网上有很多教程。
当然我这篇文章不会把每个步骤都详细的列出来,比如一步一步点击和截图,但是我会强调容易出错的地方,而且会贴出详细步骤的链接。我要说的是大方向上的创建以及创建中遇到的坑,自己找出解决方法的步骤。也是方便自己后续使用。
新建Maven
新建Project,“在Intellij中Project相当于eclipse中的Workspace,而Module相当于eclipse中的project。”相信这句话在很多地方都有看到过,但是我感觉这句话挺误导人的,因为我觉得没这个必要。就直接新建一个Project,他就是一个Project,不用再去新建Module,因为一般用一个Intellij建的项目就一个程序,除非你是很大的项目,当然可能我是新手还没遇到。像Android Studio中一个Project中就一个APP新建的Module不过是存放一些文件。
OK新建Project,选择Maven,然后这里很重要的一点
不要选creat from archetype,把这个取消
,因为这个是构建Maven项目骨架,而这个骨架就是你自己创建几个文件夹2分钟就能搞定,如果你勾选了则他要通过网上下载骨架,而他这个网速没有半个小时你是搞不定的,可能网上教程有说什么修改archetype=internal啊,我试过,根本没用,还是要等很久。
取消这个进行下一步输入项目名称创建好了。
然后到这里你会发现下面有一个在跑的downloading maven plugins这个东西很气人一直在跑。
使用自己的Maven版本
其实他根本就是连不上网,所以一直卡在那。我在网上搜了一下,没有相关资料,可能别人没遇到过所以我就想,应该是maven自身版本的问题,因为Intellij自己有Maven插件,那他的插件肯定不是最新版本。那我不用他Maven,我们去Maven官网下载最新版然后安装到本机,配置一下Maven环境变量,这个相当快,你直接下载解压包,具体教程Maven环境变量配置。很详细。然后我们把Intellij中找到,File->settings->Build,Execution ->Build TOOLS ->Maven ->Maven home directory这里就是Maven插件,我们换成自己新安装的最新版。这里就设置完成了,刷新一下,右键项目,Maven->reimport,应该成功了,没有downloading了,如果还有就stop download重新reimport,如果暂停不了就关了项目重新打开一下intellij。反正肯定好使。
生成javaweb骨架
然后File->Add Framework Support,添加Web Service ,也就是java WEB骨架基本该有的都有,可以根据自己需要自己添加。
这里生成之后我把我的项目结构贴出来:
maven的作用
这里Maven就创建完成了,Maven的作用我理解的就是你可以在他的POM.XML文件下添加任何你想要添加的功能,他会自动下载并整合到Library,这样你在转移项目的时候也会很方便,因为只要配置Maven下的pom.xml文件
这里我把我的pom.xml文件给出,也就是要引入的一些常用的包,可以根据需要添加与删除。
pom.xml
4.0.0
com.tcb.appservice
web-ssm
1.0-SNAPSHOT
war
UTF-8
UTF-8
4.1.6.RELEASE
3.3.0
1.7.7
1.2.17
junit
junit
4.11
test
jstl
jstl
1.2
javax
javaee-api
7.0
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-test
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-orm
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
mysql
mysql-connector-java
5.1.30
org.apache.mina
mina-core
2.0.13
commons-dbcp
commons-dbcp
1.2.2
org.apache.poi
poi
3.14
log4j
log4j
1.2.17
com.alibaba
fastjson
1.1.41
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
com.google.code.gson
gson
2.6.1
dom4j
dom4j
1.6.1
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
clean
maven-compiler-plugin
2.3.2
1.8
UTF-8
maven-war-plugin
2.2
${basedir}/web
false
src/resources
**/*.properties
src/main/java
**/*.properties
**/*.xml
true
就可以了,什么SSM框架SSH框架都自动给你配好。当然Maven还有很多强大功能,具体我也没用过,不过非常推荐看**《Maven实战》**中国人写的书,挺适合入门者的,我看了几章我感觉用的到的,比如说pom.xml文件的注解含义。书没全部都看完,因为会用就行,后面章节深入讲解库还有做Maven里面插件的,这个对于我们使用者没什么太大影响。
我的项目因为比较简单,所以没有涉及到SpringMVC,只配置了Spring-mybatis。
如果想配置SSM的项目可以去搜一下,有很多创建项目的模板和教程,这里我就不细说了。可能以后我再学习一下当把项目改成SSM框架的时候这里,再来详细说一下。
web.xml这个文件比较重要,去搜一下相应的语法结构弄懂然后进行自己的配置。
spring-mybatis.xml会出现一个配置选项,需要配置一下。我理解的也就是spring 和配置文件连接。
此时会配置相应的jdbc.properties文件属性。这里需要了解语句的作用。
所以主要就是配置上面这两个文件,配置好之后基本就没什么问题,如果有就看LOG报什么错找错就行。
log4j.properties这个文件好配置,不用过多纠结,Intellij自己有问题,提示unused properties不用管他,直接引入log4j的包然后把log4j文件拷入就行了。
配置tomcat前需要了解的功能
配置TOMCAT,这个网上教程一搜一大堆,当然我推荐一个JAVA WEB项目创建 这个作者写的步骤相当详细,而且每个功能都有他的理解说明,很细心的作者。最好从头到尾详细看完,然后会了解其中的很多功能。当然这里我们需要做的是按照他的第三部tomcat的配置,因为前两部的配置我们通过Maven已经完成不需要他那么复杂的步骤。一定看一下方便intellij工具各个功能配置的理解。
配置tomcat
这里我觉得我还是研究的挺透彻的,结合了网上不同的教程以及自己的实践操作,已经把tomcat配置弄懂了。
首先看ProjectStructure中的Modules这里默认的output path 是target目录,这里用默认的就行,因为这时compile outpath。仅仅是编译输出路径。我们不用管他,我要提这里一句主要是跟后面的tomcat输出路径进行区别。然后看Artifacts这里的设置其实就是关联tomcat的设置了,首先添加,Web Application exploded->from modules。一定要添加这个,这个是tomcat运行的基础。添加完这个之后,我们会看到他的output 路径是out包,也就是tomcat的输出路径。添加完之后OK完成,然后进行tomcat editconfiguration的配置,添加tomcat server->local直接添加,tomcat名字起不起也无所谓,重要的是配置deployment选项卡,下面的,点添加,可以添加exploded,这里后面的Application context/后面的就是访问路径,就是你在浏览器输入xxx:8080/aabbcc 这里的aabbcc就是你要添加的访问路径。默认为空,也就是你直接起tomcat的8080端口就能访问,但是如果tomcat服务器下有多个程序,则需要在这里进行一个指定名称访问哪个程序。到此,tomcat服务器就可以启动了,运行一下可以成功,没有问题。
生成war包呢
Intellij不像Eclipse有直接导出war包的功能。那么这里就需要再次设置project structure->Artifact->添加web application Archive存档->for exploded添加成功后就可以看到war包生成,这里有个build on make 看网上说可以勾上。这次重新启动tomcat服务器就可以在out 文件夹里自动生成war包了,如果要用war包直接拖出来用。