1. 程式人生 > >搭建IntelliJ IDEA+maven+jetty+SpringMVC 開發環境(一)

搭建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中就可以了。


專案配置程式碼如下:

[html] view plain copy print?在CODE上檢視程式碼片派生到我的程式碼片
  1. <projectxmlns="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.   <!--設定jar包版本-->
  11.   <properties>
  12.     <spring.version>4.3.2.RELEASE</spring.version>
  13.     <mybatis.version>3.3.0</mybatis.version>
  14.   </properties>
  15.   <dependencies>
  16.     <!--單元測試jar包-->
  17.     <dependency>
  18.       <groupId>junit</groupId>
  19.       <artifactId>junit</artifactId>
  20.       <version>3.8.1</version>
  21.       <scope>test</scope>
  22.     </dependency>
  23.   <!--springMVC需要的jar包-->
  24.       <dependency>
  25.           <groupId>org.springframework</groupId>
  26.           <artifactId>spring-context</artifactId>
  27.           <version>${spring.version}</version>
  28.       </dependency>
  29.     <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
  30.     <dependency>
  31.       <groupId>org.springframework</groupId>
  32.       <artifactId>spring-webmvc</artifactId>
  33.       <version>${spring.version}</version>
  34.     </dependency>
  35.     <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
  36.     <dependency>
  37.       <groupId>org.springframework</groupId>
  38.       <artifactId>spring-web</artifactId>
  39.       <version>${spring.version}</version>
  40.     </dependency>
  41.     <!--mybatis所需jar包-->
  42.   <dependency>
  43.     <groupId>org.mybatis</groupId>
  44.     <artifactId>mybatis</artifactId>
  45.     <version>${mybatis.version}</version>
  46.   </dependency>
  47.   <!--資料庫jar包-->
  48.   <dependency>
  49.     <groupId>mysql</groupId>
  50.     <artifactId>mysql-connector-java</artifactId>
  51.     <version>5.1.38</version>
  52.   </dependency>
  53.   </dependencies>
  54.   <build>
  55.     <finalName>springmvcdemo</finalName>
  56.       <plugins>
  57.           <plugin>
  58.               <groupId>org.apache.maven.plugins</groupId>
  59.               <artifactId>maven-compiler-plugin</artifactId>
  60.               <configuration>
  61.                   <source>1.8</source>
  62.                   <target>1.8</target>
  63.               </configuration>
  64.           </plugin>
  65.         <!--jetty外掛-->
  66.         <plugin>
  67.           <groupId>org.mortbay.jetty</groupId>
  68.           <artifactId>maven-jetty-plugin</artifactId>
  69.           <configuration>
  70.             <stopPort>9988</stopPort>
  71.             <stopKey>foo</stopKey>
  72.             <scanIntervalSeconds>5</scanIntervalSeconds>
  73.             <connectors>
  74.               <!--<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">-->
  75.               <connectorimplementation="org.mortbay.jetty.nio.SelectChannelConnector">
  76.                 <port>8088</port>
  77.                 <maxIdleTime>60000</maxIdleTime>
  78.               </connector>
  79.             </connectors>
  80.             <webAppConfig>
  81.               <contextPath>/</contextPath>
  82.               <defaultsDescriptor></defaultsDescriptor>
  83.             </webAppConfig>
  84.           </configuration>
  85.         </plugin>
  86.       </plugins>
  87.   </build>
  88. </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。

相關推薦

搭建IntelliJ IDEA+maven+jetty+SpringMVC 開發環境

以前一直使用的是eclipse,偶爾使用myeclipse,現在由於工作需要,正在使用idea。因為也是剛接觸這個開發工具,處於摸索階段,趁著學習寫了一篇環境搭建部落格,與大家一起分享一下。 一、新建專案 1、開啟idea工具,選擇新建專案file-> new -> project。選擇ma

搭建eclipse+tomcat+maven+shiro+springmvc+jpa專案:技術選型及架構文件

一、Java語言 Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向物件程式語言的代表,極好地實現了面向物件理論,允許程式設計師以優雅的思維方式進行復雜的程式設計。

windows環境搭建Java開發環境:jdk安裝和配置

變量 win jns jdk安裝 分享 tool 直接 www. 技術 一、資源下載   官網:http://www.oracle.com/technetwork/java/javase/downloads/index.html   本人安裝的是jdk1.8,百度雲資源:鏈

Vagrant 搭建跨平臺的 PHP 開發環境 安裝 ubuntu 虛擬機器

Vagrant是一個軟體,可以自動化虛擬機器的安裝和配置流程,支援 VirtualBox 、VMware 、AWS 作為虛擬機器以 VirtualBox 為例,步驟如下: Windows 10 系統中 需要關閉 Hyper-v , 小米筆記本中 biso 中找不到 虛擬化配置,關閉 Hyper-v 就可以了

Vagrant 搭建跨平臺的 PHP 開發環境 安裝 ubuntu 虛擬機

刪除 des 添加 ans com 操作系統 nsh list 找不到 Vagrant是一個軟件,可以自動化虛擬機的安裝和配置流程,支持 VirtualBox 、VMware 、AWS 作為虛擬機以 VirtualBox 為例,步驟如下: Windows 10 系統中 需要

圖文詳解如何搭建Windows的Android C++開發環境

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

搭建eclipse+tomcat+maven+shiro+springmvc+jpa專案:基本框架搭建

1、pom.xml配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

Windows下搭建IOS開發環境

我們都知道開發iPhone等ios平臺的移動應用時需要使用Mac本,但是Mac本都比較昂貴,所以我們可以採用Windows7上利用VMWare安裝Mac作業系統的方法來模擬ios開發環境,達到降低成本的目的。 1.相關配置 作業系統:windows7旗艦版 Wo

搭建jdk+eclipse+meaven+comcat開發環境

首先下載並安裝這幾個開發工具 首先我們我們安裝jdk,然後配置它 jdk安裝只要點下一步即可,不過要記得自己的安裝路徑。 然後我們來配置它:--------》-------》------》 將這幾個整完後(沒有的新建,有的後面直接加,以;分開) 我們查一下jdk是否配置成功

【java專案實戰】步步教你使用MyEclipse搭建java Web專案開發環境

       首先,在開始搭建MyEclipse的開發環境之前,還有三步工具的安裝需要完成,只要在安裝配置成功之後才可以進入下面的java Web專案開發環境的搭建。 1、安裝工具 第一步,下載並

搭建 webpack、react 開發環境

 基本介紹   Webpack 是一個前端資源載入/打包工具。它將根據模組的依賴關係進行靜態分析,然後將這些模組按照指定的規則生成對應的靜態資源,它可以將多種靜態資源 JavaScript、css、less 等轉換成一個靜態檔案,減少了頁面的請求。 React

Mac自帶Apache搭建PHP開發環境phpinfo

命令列: 開啟apache服務:sudo apachectl start  停止apache服務:sudo apachectl stop 重啟服務:sudo apachectl restart 檢視版

搭建常見的開發環境Gitlab搭建

大家常聽說Git、Github、Gitlab,很多人對著三個詞很懵逼,分別講一下這三個是什麼意思。Git是Linus Torvalds為了幫助管理Linux 核心開發而開發的一個開放原始碼的版本控制軟體。Github是一個網站,提供給使用者空間建立git倉儲,儲存使用者的一些

intellij idea 官方幫助文檔翻譯安裝

5G cati 歡迎界面 www. 1.8 一點 過去的 方便 使用 安裝需求:   硬件需求:     最低2GB內存,推薦4GB內存     最少要有1.5GB的硬盤空間,以及1GB空間用於緩存     最低1024*768的分辨率   軟件需求:     

使用vagrant鍵部署本地php開發環境

一:我們為什麼需要用這玩意 我們在開發中經常會面臨的問題:環境不一致,有人用Mac有人用Windos還有幾個用linux的,而我們的伺服器都是linux。 在我本地是可以的啊,我測了都,沒有問題啊,然後看著上線之後的500錯誤懵比。It works on my pc .

基於vue-cli網上商城專案實戰開發——搭建一個完整的SPA專案開發框架

基於vue-cli腳手架,結合實際專案經驗,搭建一個完整的SPA專案框架。 安裝vue-cli腳手架 先貼出官方的命令列工具使用方法 官方命令列工具 鑑於此過程比較緩慢,我這裡推薦使用淘寶映象來安裝。依次執行以下步驟 (本人mac,需要sudo獲

步步教你如何在Ubuntu虛擬機器中安裝QEMU並模擬模擬arm 開發環境uImage u-boot

初次接觸qemu是因為工作的需要,有時候下了班,可能需要在家研究一些東西,因為博主用到arm環境,這時候博主比較小氣,不願花錢買開發板,當然博主在這裡給大家的建議是,如果要真正學懂arm構架的相關知識,還是單獨買一塊arm的開發板,慢慢摸索吧,畢竟這才是最好的學習方法,如果

Ubuntu12.10 下搭建基於KVM-QEMU的虛擬機器環境

    經過幾年的發展,基於KVM-QEMU的虛擬化技術變得越來越成熟,redhat也已經初步形成了以此為基礎的虛擬化產品。同時其他的Linux平臺(如Ubuntu)也對此有了完善的支援方案,加上各類配套軟體的開源特性,以此技術為基礎搭建一套可用的虛擬機器環境變得不再困難。

Intellij Idea 創建Web項目

gun eight nat uga idl psu gif gii 選項 相關軟件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.baidu.com/s/1dEstJ5f Tomcat

IntelliJ IDEA安裝及jsp開發環境搭建

一、前言   現在.net國內市場不怎麼好,公司整個.net組技術轉型,就個人來說還是更喜歡.net,畢竟不是什麼公司都像微軟一樣財大氣粗開發出VS這樣的宇宙級IDE供開發者使用,雙擊sln即可開啟專案,一直想吐槽為嘛java專案只能import。昨天一路踩坑,花了一整