长时间使用Eclipse或者MyEclipse慢慢的就会发现越来越蛋疼。过于简单粗暴的界面,过多而无用的插件……废话不多说,进入正题。
首先需要明确一个问题:在传统的Eclipse中的workspace和project相信大家都有一定的了解。但是在Idea中没有了workspace,转而出现了project和module。相信聪明的观众老爷,能猜出来。没错,在Idea中project就相当于Eclipse中的workspace,module就相当于Eclipse中的project。
环境说明
笔者使用的IntelliJ IDEA版本是:2017.2.4
导入项目
在Idea中建立一个空的project(相当于在Eclipse中建立了一个workspace)
- File -> New -> Project -> Empty Project,然后选择下一步
- 输入Project的名字,并选择Project的位置,然后点击Finish
- 会弹窗提示在新窗口打开还是在当前窗口打开,这里随意选择。笔者选择在当前窗口打开。
配置环境JDK
- 打开项目结构 快捷键:
Ctrl + Shift + Alt + S
- 选择Project
- 在Project SDK 选择New, 选一个本地的JDK_HOME 目录
导入传统结构的项目
- 打开项目结构 快捷键:
Ctrl + Shift + Alt + S
- 导入Eclipse建立的Web项目
- 选择Modules,点击
+
,我们这里是导入项目所以选择Import Module
,如果需要新建一个项目可以选择New Module
- 选择项目所在磁盘的路径, 因为项目是Eclipse创建的,所以我们选择Eclipse这个选项, 一路 Next,最后一步选中我们导入的项目,Finish 完成。
- 导入一个项目之后会默认选择这个模块, 例如本例子中的
Hello
(如果没有可以打开项目结构窗口,选择Modules中的Hello模块即可), 在这个模块中有几个选项卡,Sources, Paths, Dependencies 这几个。
- Sources 选项卡, 我们可以看到
Hello
模块的项目结构,在这里我们可以设置哪一个是源码文件,哪一个是资源文件夹,测试源码, 测试资源文件等。
- Paths 选择模块的输出路径
- Dependencies 这里配置模块的依赖关系, 配置jdk,删除不需要的依赖关系
导入Maven项目
- 和导入传统项目类似,唯一不同的是 要选择Maven选项,而不是Eclipse。在导入时,要选择pom.xml文件的上级目录,这一点有别于eclipse
部署项目到Tomcat
配置tomcat
- 点击工具栏的设置按钮 -> Edit configurations
- Name 给tomcat配置一个名字
- Application server 右侧 Configure 配置tomcat所有目录
- Open browser 启动项目后使用哪一个浏览器打开,并且配置一个访问的url,
- VM options 配置jvm参数,如果项目启动报内存溢出,可以在这里更改
- JRE tomcat 使用的jdk
- Tomcat Server Settings 配置tomcat端口
现在tomcat中还没有部署任何 artifact 。接下来我们来建立artifact
配置artifact
现在工程中只有两个模块,一个是从eclipse中导入的项目(Hello),另一个是导入的Maven项目(comtest)项目项目结构窗口中选择Artifacts可以看到可以部署到tomcat中的artifact。
我们可以看到Artifacts中只有Maven的项目并没有Eclipse导入的项目?我们要部署那个没有的项目怎么办呢? 因为Eclipse导入的项目没有添加web模块到项目中,如果Maven工程pom文件没有把打包方式设置成war
在Artifacts 中也会没有。
接下来我们添加给Hello模块添加web。
注意添加完Web后会出现两个路径要根据自己项目的实际情况来更改。在Eclipse中默认的Deployment Root 的名字是WebRoot, 而在idea中名字叫web。
我们对应修改就行了。因为本例子中Hello项目是Eclipse中的导入的,我们要改成WebRoot。
修改完路径,我们可以直接添加到artifact,Fix -> Create Artifact 就可以了。
也可以在Artifacts 窗口添加,都是可以的
部署artifacts 到tomcat
如果在Tomcat要部署多个artifact ,要注意 Application context 的路径不要有冲突。
如果以Debug模式启动,要热更新class和静态资源的话,要在Server中设置On Update action
和 On frame deactivation
为 Update classes and resources
启动Tomcat
两个按钮一个是正常启动,一个是调试启动。到目前为止就可以了。。。。。。
最后多说几句
在启动的时候可能遇到编译级别的问题。
Error:(16, 61) java: '<>' operator is not allowed for source level below 1.7
- 如果是Maven项目 需要在pom文件中指定项目的编译级别。编译的输出是按照pom构建项目的。需要注意项目资源文件的拷贝
<build>
<finalName>test</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.hbm.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 如果项目中既有jdk6 和 jdk7 就要添加多个jdk,(添加方法上文中有提到),还要更改项目的编译级别。
- 部署到Tomcat
还要更改Tomcat 的jdk版本, 如果部署的项目既用到jdk6 和jdk7 ,就要把Tomcat的jdk更改为7。
</article>