搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)

2017 一月
16

转载自 http://blog.csdn.net/jdjdndhj/article/details/54572439

搭建IntelliJ IDEA+maven+jetty+SpringMVC 开发环境(一)


以前一直使用的是eclipse,偶尔使用myeclipse,现在由于工作需要,正在使用idea。因为也是刚接触这个开发工具,处于摸索阶段,趁着学习写了一篇环境搭建博客,与大家一起分享一下。


一、新建项目

1、打开idea工具,选择新建项目file-> new -> project。选择maven,选择项目jdk的版本,我这里使用的是1.8(截图是1.7),在右边的选择框勾选create from archetype,并选择相应的选项,如下图,选择好后next:

2、这里需要填写GroupId和ArtifactId还有Version,这三个属性目的是标识你的项目的唯一性,比如Jetty的GroupId是org.eclipse.jetty,即它是eclipse组织的项目,ArtifactId是jetty-server,项目名为jetty-server,而我当前使用的Version是9.4.0.v20161208。这些只在发布时有用,在此可以随便填写,填好后点Next:


3 打开Maven home directory,可以发现IntelliJ IDEA已经集成了Maven 2和Maven 3两个版本,也会显示本地的maven版本,这里我们选择自己安装的maven版本,点击Next。

4、填写项目名称以及项目保存路径,点finish完成项目创建。


5、finish后,maven会在后台生成web项目,这需要等待一定的时间,视网络环境而定,经验发现用较新版本的maven项目生成更快,使用IDEA集成的maven可能会等待很长一段实践。

下图就是一个项目的初始架构(正在初始化中),红框1是项目的文件架构,因为正在初始化所以文件架构还不完整;红框2是控制台,根据显示的信息可以知道此时正在创建maven项目;红框3是一个maven编译选项,选择Enable-Auto-Import的话之后每次修改maven的配置文件pop.xml项目都会自动导入jar包(不会再次询问),有些同学可能选了这项之后以后可能会出现项目比较卡顿的情况,所以现在暂时先建议选择第一个,导入更改项,这个就是每次修改完pop.xml文件项目会询问是否导入jar包。只要修改了pop.xml文件就会出现这个提示,所以这里可以随便选一个。


maven项目生成完毕后,整个的项目架构如下图。稍微了解一点web项目的同学就会知道每个文件夹的作用啦,在这我就不做讲解。


此时可能有同学会有疑问了,怎么和以前的项目不一样呀,没有Java这个文件夹了。是的,现在是没有存放Java源代码的文件夹,所以我们需要手动创建一个:

按ctrl+alt+shift+s,或者File->Project Structure查看一下项目结构,检查是否设置正确。


确认没问题后选择modules,在main文件夹上右键选择新建文件夹,命名为Java(这个命名随意)


现在创建的Java文件还只是一个普通的文件夹,需要把他设置成源文件夹,选中Java文件夹,再选择上方的source即可,设置完毕后右边的项目架构也会随着改变

至此,一个web应用的初始化工作以及完成!


二、Maven自动导入jar包

基于maven管理的项目现在我们已经创建完毕,现在需要通过maven导入项目所需的jar包。Maven的好处在于我们不需要再去网络上一个一个找jar包,只需要把需要用的jar包名称以及版本号在配置中标注,Maven就会自动从他的jar包仓库中下载,相关的配置在里面也有demo,只要把对应jar包的demo复制到项目的pop.xml中就可以了。


项目配置代码如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
  3.   <modelVersion>4.0.0</modelVersion>  
  4.   <groupId>com.promonkey</groupId>  
  5.   <artifactId>springmvcdemo</artifactId>  
  6.   <packaging>war</packaging>  
  7.   <version>1.0-SNAPSHOT</version>  
  8.   <name>springmvcdemo Maven Webapp</name>  
  9.   <url>http://maven.apache.org</url>  
  10.   
  11.   <!--设定jar包版本-->  
  12.   <properties>  
  13.     <spring.version>4.3.2.RELEASE</spring.version>  
  14.     <mybatis.version>3.3.0</mybatis.version>  
  15.   </properties>  
  16.   
  17.   <dependencies>  
  18.     <!--单元测试jar包-->  
  19.     <dependency>  
  20.       <groupId>junit</groupId>  
  21.       <artifactId>junit</artifactId>  
  22.       <version>3.8.1</version>  
  23.       <scope>test</scope>  
  24.     </dependency>  
  25.   
  26.   <!--springMVC需要的jar包-->  
  27.       <dependency>  
  28.           <groupId>org.springframework</groupId>  
  29.           <artifactId>spring-context</artifactId>  
  30.           <version>${spring.version}</version>  
  31.       </dependency>  
  32.   
  33.     <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->  
  34.     <dependency>  
  35.       <groupId>org.springframework</groupId>  
  36.       <artifactId>spring-webmvc</artifactId>  
  37.       <version>${spring.version}</version>  
  38.     </dependency>  
  39.   
  40.     <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->  
  41.     <dependency>  
  42.       <groupId>org.springframework</groupId>  
  43.       <artifactId>spring-web</artifactId>  
  44.       <version>${spring.version}</version>  
  45.     </dependency>  
  46.   
  47.     <!--mybatis所需jar包-->  
  48.   <dependency>  
  49.     <groupId>org.mybatis</groupId>  
  50.     <artifactId>mybatis</artifactId>  
  51.     <version>${mybatis.version}</version>  
  52.   </dependency>  
  53.   
  54.   
  55.   <!--数据库jar包-->  
  56.   <dependency>  
  57.     <groupId>mysql</groupId>  
  58.     <artifactId>mysql-connector-java</artifactId>  
  59.     <version>5.1.38</version>  
  60.   </dependency>  
  61.   
  62.   </dependencies>  
  63.   
  64.   <build>  
  65.     <finalName>springmvcdemo</finalName>  
  66.       <plugins>  
  67.           <plugin>  
  68.               <groupId>org.apache.maven.plugins</groupId>  
  69.               <artifactId>maven-compiler-plugin</artifactId>  
  70.               <configuration>  
  71.                   <source>1.8</source>  
  72.                   <target>1.8</target>  
  73.               </configuration>  
  74.           </plugin>  
  75.   
  76.         <!--jetty插件-->  
  77.         <plugin>  
  78.           <groupId>org.mortbay.jetty</groupId>  
  79.           <artifactId>maven-jetty-plugin</artifactId>  
  80.           <configuration>  
  81.             <stopPort>9988</stopPort>  
  82.             <stopKey>foo</stopKey>  
  83.             <scanIntervalSeconds>5</scanIntervalSeconds>  
  84.             <connectors>  
  85.               <!--<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">-->  
  86.               <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">  
  87.                 <port>8088</port>  
  88.                 <maxIdleTime>60000</maxIdleTime>  
  89.               </connector>  
  90.             </connectors>  
  91.             <webAppConfig>  
  92.               <contextPath>/</contextPath>  
  93.               <defaultsDescriptor></defaultsDescriptor>  
  94.             </webAppConfig>  
  95.           </configuration>  
  96.         </plugin>  
  97.   
  98.       </plugins>  
  99.   </build>  
  100.   
  101. </project>  
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.promonkey</groupId>
  <artifactId>springmvcdemo</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>springmvcdemo Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <!--设定jar包版本-->
  <properties>
    <spring.version>4.3.2.RELEASE</spring.version>
    <mybatis.version>3.3.0</mybatis.version>
  </properties>

  <dependencies>
    <!--单元测试jar包-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

  <!--springMVC需要的jar包-->
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>${spring.version}</version>
      </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!--mybatis所需jar包-->
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
  </dependency>


  <!--数据库jar包-->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
  </dependency>

  </dependencies>

  <build>
    <finalName>springmvcdemo</finalName>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.8</source>
                  <target>1.8</target>
              </configuration>
          </plugin>

        <!--jetty插件-->
        <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <configuration>
            <stopPort>9988</stopPort>
            <stopKey>foo</stopKey>
            <scanIntervalSeconds>5</scanIntervalSeconds>
            <connectors>
              <!--<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">-->
              <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                <port>8088</port>
                <maxIdleTime>60000</maxIdleTime>
              </connector>
            </connectors>
            <webAppConfig>
              <contextPath>/</contextPath>
              <defaultsDescriptor></defaultsDescriptor>
            </webAppConfig>
          </configuration>
        </plugin>

      </plugins>
  </build>

</project>

配置完成后,左下角会弹出一个信息,是否导入pop.xml更改项;如果没有弹出,也可以点击右边的maven更新,这样maven就会导入jar包:


jar包导入完成后,在左边的文件架构中可以查看:


至此,项目所需的jar包也就全部导入进来了。此时可以检查一下右边的项目架构中,插件(Plugins)中是否有jetty插件,如果有则可以使用jetty。




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值