由于最近到了新公司,使用了新的开发工具idea,这几天感触颇多,所以想把一些问题在网上发出来,勉励自己,也希望别人能少走一点弯路。
先简单介绍一下, idea项目主要需要设置的地方在三个Settings, Project Structs, Edit configurations。
一、Settings里面主要设置maven,svn。不过,在搜索中输入maven, subversion即可得到。subversion配置直接安装tortoise svn即可。
二、Project Structure 配置jdk。里面有Project, Modules,Libraries, Facets, Artficats, SDKs这些都有用。
2.1.在Project里面,
设置project sdk的版本 ,即时配置jdk。
设置项目编译的输出位置: 项目在硬盘的路径/out
2. 2.在Modules里面,当Modules为空时候,+会增加新的模块,或者导入新的模块,如果想创建maven项目,基本上是创建maven项目,或者是导入maven项目,这个按照说明操作很容易。选择项目,如果不是web项目,点击+,可以选择web添加web。
选择项目会出现Source,Paths,Dependcencies
Paths:是输出路径
如果是web项目
Output path: 项目路径\out\production\Hello
如果是maven web项目
Output path: 项目路径\target\classes
在点击build 和rebuild的时候自动在这个路径输出文件。
Dependencies和Libraries差不多。
2.3. Libraries忽略
选择web,会出现部署 描述符(即是web.xml文件)和web 资源目录(即是web根目录)
web 资源目录选择笔进行编辑,默认是: 项目名/web,但是在maven项目中这不合理,修改为项目名/src/main/webapp/
部署 描述符选择笔进行编辑,修改为项目名/src/main/webapp/\WEB-INF\web.xml
在maven项目中使用tomcat7插件,Artifacts不是必须的,idea在modules中提示 create Artifacts,我们可以忽略。
2.4.Facets和Module功能差不多,配置是基本一样的,忽略。
2.5.Artifacts
在maven项目中使用tomcat插件,可以不用配置。
如果是创建的web项目,点击+,选择项目名:war或者是项目名:war exploded,具体可以百度。
选择项目名:war,出现Output directory。
maven项目默认输出是: 项目名/target
web项目默认输出是:项目名\out\artifacts\项目名_war_exploded
,在edit configuration 配置好之后,点击run,就会在这个文件夹中生成文件。
三、Edit configuration 配置tomcat, maven命令行。
1. 如果是web项目,点击+ 选择Tomcat Server, server和deployment
server 中配置tomcat和jre
application server配置tomcat的路径
jre配置jdk的路径
deployment是部署项目,把刚刚在Artifacts中配置的web项目部署进来即可,操作简单。
2. 如果是maven项目, 点击+ 选择Maven。
Name: 改成运行的名称,类似于eclipse的mvn 命令配置之后,右键时候在run 中出现的命令一样。
Parameters配置一下即可。
Working directory: maven项目名路径
(Working directory这个目录的作用是可以寻找到pom.xml,从而执行Command line)
Command line: (输入要执行的mvn命令,举例是:clean tomcat7:run)
当然这是要在pom.xml中配置tomcat7插件的,添加如下代码即可:
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port>8082</port> </configuration> </plugin> </plugins> </build>
同时要注意一个细节问题,maven空项目创建的时候,默认是没有<packaging>war</packaging>的,但是packaging默认值是jar, 如果是使用tomcat7插件,则tomcat插件无法运行,所以要主动加上<packaging>war</packaging>,才能运行tomcat7插件。但是,在该项目在tomcat server中部署之后run是没有问题的,即使没有配置<packaging>war</packaging>。