IDEA Java


目錄

1 配置

2 常用快捷鍵

3 安裝插件

4 使用Maven創建web項目

5 使用Maven導入依賴

6 Maven創建項目后缺少文件夾

7 Tomcat LocalHost Log消失

8 EL表達式無效

9 Project 和 Module 

10 ${XXX.version}無效

11 xml文件報錯

12 配置數據源時報錯應該是javax類型

13 IDEAJava設置注釋模板

14 導入新項目時依賴下面有紅線

15 下載依賴速度慢

16 代碼提示少

17 查看類圖

18 編譯時報錯不能使用diamond預算符

19 出現 Usage of API documented as @since 1.8+ 

20 斷言不起作用

 

1 配置

ideaJava每次創建一個新的web項目就需要重新配置Tomcat,配置完Tomcat后還要導入Tomcat的包,可百度如何導入外部包,完成后應該如下圖所示

后來仔細研究后發現之所以還要配置是因為我一個開始就沒有選擇webapp項目直接module了一個項目。

 2 常用快捷鍵

 Alt+Insert,可以生成構造器/Getter/Setter等     

Ctrl+O,重寫方法

Ctrl+Alt+O,優化導入的類和包              

Ctrl+Shift+Space,自動補全代碼

Ctrl+Alt+T,可以把代碼包在一個塊內,例如:try/catch
Ctrl+Enter,導入包,自動修正

Alter+Enter 拋出異常,光標移動到該處

psvm,main方法

F2 快速定位到下一個錯誤代碼處

Shift + F2 快速定位到上一個代碼錯誤處

知道類名查找類: Ctrl+Shift+Alt+N

在類中查找某一個方法:

1 使用 ctrl+F12打開類中所有方法的界面

2 然后直接鍵盤中輸入方法名稱或者方法包含的字母,會自動模糊匹配相關方法名

查看類的關系圖:

在你想查看的類的標簽頁內,點擊右鍵,選擇 Diagrams,其中有 show 和 show ... Popup,只是前者新建在標簽頁內,后者以浮窗的形式展示:

3 安裝插件

LeetCode中可以安裝許多有用的插件方便編寫代碼:阿里的代碼規范、LeetCode插件等。阿里的安裝完后直接重啟便可以使用,LeetCode需要先配置一下

配置完成后如上圖所示。給出GitHub鏈接:https://github.com/shuzijun/leetcode-editor/blob/master/README_ZH.md

完成后感覺這個插件用處不大。。。。。。

 4 使用Maven創建web項目

注意maven3.3.6.9版本以上使用jdk1.8。好像在右下角選擇Enable Import就可以沒有這么多事了。。。直接添加Tomcat服務器然后如下圖就可以了。

選擇本地版本

next finish即可。需要注意的是上面的quickstart只是一個基礎的骨架,如果要創建一個web項目需要選擇webapp,注意不要選擇紅色標注的哪一個。

 

當創建完項目后需要配置Tomcat:有一點要注意一定要保證maven項目創建完后才可以配置Tomcat否則會造成某些文件缺失的。

 

在1處自己隨便命名,2處點擊fix

修改路徑為:src\main\wepapp后面才要接web.xml或者其他什么路徑設置完成后點擊apply

完成設置后添加項目名

當配置完成后就可以編寫頁面了,對頁面要配置頁面的編碼格式否則會出現亂碼的,即把下面的代碼放在jsp文件第一行即可

 <%@ page contentType="text/html;charset=UTF-8" language="java" %>

注:創建 一般的Java項目就沒這么麻煩:

直接點擊next,不用勾選什么,直接輸入后面輸入項目名字即可。

5 使用Maven導入依賴

在瀏覽器輸入:mvnrepository.com然后搜索要導入的包即可

然后復制Maven下面的的定位,粘貼在pom.xml中

<dependencies>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>

</dependencies>

 6 Maven創建項目后缺少文件夾

按照上面4簡單創建完mave項目后可能會缺少一些文件夾,正常文件夾如下圖:

對於java是源文件,先創一個普通文件夾為java然后設置為源文件,右鍵設置為Source Root 這里是已經設置好了
 

resource應該設置為Resource Root,此外缺少test這些按照上面操作即可。

 7 Tomcat LocalHost Log消失

 IdeaJava中發現Run Tomcat時控制台信息消失了,重新配置了窗口也不行,后來才發現是因為鼠標一直拉這個讓它最小化,才導致消失了

 8 EL表達式無效

 要在page頁面設置一下EL表達式

<%@ page isELIgnored="false"%>

 9 Project 和 Module 

在 IntelliJ IDEA 中Project是最頂級的結構單元,然后就是Module,一個Project可以有多個Module。目前,主流的大型項目結構基本都是多Module的結構,這類項目一般是按功能划分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模塊之間彼此可以相互依賴。通過這些Module的命名可以看出,它們都是處於同一個項目中的模塊,彼此之間是有着不可分割的業務關系。因此,我們可以大致總結出:一個Project是由一個或多個Module組成。

(1)當為單Module項目的時候,這個單獨的Module實際上就是一個Project;
(2)當為多Module項目的時候,多個模塊處於同一個Project之中,此時彼此之間具有互相依賴的關聯關系。
此外, IntelliJ IDEA 的Project是一個不具備任何編碼設置、構建等開發功能的概念,其主要作用就是起到一個項目定義、范圍約束、規范類型的效果,或許,我們也可以簡單地理解Project就是一個單純的目錄,只是這個目錄在命名上必須有其代表性的意義。在缺省情況下,IntelliJ IDEA 是默認單Project單Module的,這時Project和Module合二為一,在沒有修改存儲路徑的時候,顯然Project對Module具有強約束作用!不過說實話,這里就是將Module的內容放在了Project的目錄下,實際上還是Module自己約束自己。

由以上可知當需要創建一個復雜的項目時一般先創建一個Project然后在該項目下創建多個Module。

 10 ${XXX.version}無效

 有可能是兩種原因:(1)因為復制粘貼過來的,程序可能內部出錯了,此時方法最簡單直接重啟即可。也可以選擇清除緩存重啟。(2)有可能是因為父類沒有配置好,此時是配置的問題需要仔細檢查一下。

 11 xml文件報錯

 在寫配置文件時:xmlns:mvc="http://www.springframework.org/schema/mvc" 這句話一直報錯標注紅線,檢查了好久並沒有發現什么問題,最后忽略了這個配置,不報錯了然而下面的class有報錯顯示找不到該class。胡亂配置了一通把<bean class=""/>這個標簽里的類給搞的不知道怎么回事反正不正常了,又回不去默認配置,沒辦法重裝了IDEA,重裝之后就正常了。可能問題有:是不是我裝了一些其他的插件導致內部出問題了,裝了有阿里巴巴的代碼規范和LeetCode的代碼插件;或者是因為我沒配置好但不太可能啊我檢查了好幾遍,也許是復制粘貼的沒檢查出來,反正這次事件后就開始考慮在能破解的范圍內盡可能用最新的軟件了。

 12 配置數據源時報錯應該是javax類型

 在配置SSM數據庫時在配置session工廠時提示配置的類型應該是javax類型,仔細研究后發現javax是jdk自帶的數據類型現在報錯有能是jdk沒有配置好,果然對項目重新配置了jdk版本后就正常了。

 13 IDEAJava設置注釋模板

設置類模板

/**  
    * @title: ${NAME}
    * @projectName ${PROJECT_NAME}
    * @description: TODO
    * @author ${USER}
    * @date ${DATE}/${TIME}
    */

 14 導入新項目時依賴下面有紅線

按照下圖修改即可。

 

備注:(1)當在新環境中使用maven時一定要先安裝maven,在命令行查看maven -version看是否安裝好,maven只支持jdk1.8版本以上的,對於版本太低的也不行。

(2)對於直接拷貝的項目最好不要直接import因為項目會從main文件下尋找依賴,拷貝的項目本地main為空自然就出錯了因此要用open。

 按照上面的配置發現又有錯誤了,編譯項目出錯,具體報錯情況如下:

  Error:Maven Resources Compiler: Maven project configuration required for module 'oa_web' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE.

下面兩個是為了解決導入依賴下面有紅線時問題的解決方法,為了驗證是否真的是因為下面maven倉庫的問題,我選擇了把它恢復為初始設置又重新導入了一下項目,發現正常,這說明不是因為倉庫位置的問題。事實證明這三個選擇哪一個都無所謂的,我在Maven home選擇了本地的D盤下的安裝路徑也沒有報錯,這就說明不是這些的問題。事實上MavenHome是配置Maven路徑,setting.xml是配置的倉庫下載地址和下載資源的網站,最后一個則是本地倉庫地址。

右鍵出錯的module,選擇rebuild即可解決。

結合上面的分析,當有紅線時可能是沒有自動創建項目,需要勾選自動創建,創建時可能有些module會報錯,需要rebuild一下即可。

 15 下載依賴速度慢

 下載慢是因為直接從國外官網下載的,修改一下設置即可,在項目設置中選擇本地Maven覆蓋默認的setting,在本地Maven的conf中新建一個settings.xml如下內容:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <mirrors> <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
        <mirror>
            <id>uk</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://uk.maven.org/maven2/</url>
        </mirror>
        <mirror>
            <id>CN</id>
            <name>OSChina Central</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
        <mirror>
            <id>nexus</id>
            <name>internal nexus repository
            </name> <!-- <url>http://192.168.1.100:8081/nexus/content/groups/public/</url>-->
            <url>http://repo.maven.apache.org/maven2</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
</settings>

 16 代碼提示少

代碼提示少是因為默認設置中是對大小寫敏感度,因此要取消敏感,那么代碼提示就會變的很多了。

 17 查看類圖

右鍵選擇即可。

 

注:

(1)在類圖中可能會發現放大后字體模式這是可以調整字體,即設置整個代碼顯示的字體

(2)類圖不能根據拖動自動調用這些因為布局的問題,一般默認的都不行,選擇Circular布局即可。

··

18 編譯時報錯不能使用diamond預算符

報錯信息如下:Error:(16, 60) java: -source 1.5 中不支持 diamond 運算符(請使用 -source 7 或更高版本以啟用 diamond 運算符)

解決方法: 1 選擇 File --> project Structure --> Modules,選擇項目修改 “Sources” 選項卡下的 “Language level” 及 “Dependencies”選項卡下的 “Module SDK

 

2 修改Java Compiler

File --> Settings --> Build,Execution,Deployment --> Compiler --> java Compiler

 

19 出現 Usage of API documented as @since 1.8+ 

報錯信息:

Usage of API documented as @since 1.8+ 

This inspection finds all usages of methods that have @since tag in their documentation. 

This may be useful when development is performed under newer SDK version as the target platform for production.

出現原因:

出現該問題的原因是由於使用了JAVA8的新特性,但是Language Level(最低可支持的版本)比較低,無法支持這些特性。比如設置的Language Level為6.0,可是卻使用了8.0/9.0的新特性,6.0無法解析這些特性,因此IDE會報錯來提醒我們。

解決方法:

如果對最低支持版本有要求,沒辦法改動的話,那就只能放棄使用報錯部分的代碼。 如果對支持版本沒有要求的話,可以改動IDE的Language Level來消除錯誤。

法1. 使用ctrl+shift+alt+S,打開Project Structure,選中側邊欄的Modules,在Sources窗口中修改Language Level(必須大於等於報錯信息給出的level)。 

法2. 在pom.xml中添加配置

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

 20 斷言不起作用

IDEA中的斷言是默認關閉的,需要手動打開

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM