通過idea生成一個最基礎java項目:無框架,無包管理工具等



這里會在demo5文件下自動創(chuàng)建一個JavaDemo文件夾
這樣就創(chuàng)建了一個最基本的java項目

除主界面外,基本上只有右上角Project Structure會涉及到使用
Project Structure的使用
Project
Project主要用來做項目整體的配置

Project name:項目名,可以編輯
Project SDK:可以靈活的配置使用自己電腦上手動安裝的JDK
Project language level:項目編譯等級,只能小于等于配置的JDK等級,比如配置的JDK等級為9,但是不想使用9的新特性,就可以將language level設置為8
Project compiler output:out文件輸出位置,一般out文件有三個內容

Artifacts:生成的jar包(只有主動去打包才有,也可以更改生成位置)
Production:主程序編譯的class文件存放的位置(一般out中也可能只有這一個文件)
test:test文件夾編譯的class文件存放的位置(需要有test文件)
Modules
Modules主要用來做各個模塊單獨的相關配置

Sources:編輯文件夾屬性(source目錄/test目錄/resource目錄等)
Paths:設置源代碼編譯位置
Dependecies:依賴管理
Sources
文件分類(五類):
Sources:源代碼存放位置,藍色
Test:測試代碼存放位置,綠色
Resources:配置文件存放位置,文件夾有特殊標志
Test Resources:測試代碼配置文件存放位置
Excluded:編譯時排除掉文件


上面兩張圖說明,在module界面執(zhí)行圖1①->②和在文件上直接執(zhí)行圖2①->②->③效果相同,都是將文件夾變?yōu)闇y試文件夾
Paths

Dependencies

手動給module1添加本地下載好的jar包(此處用FastJson做演示)

測試jar包可以正常使用
Libraies
Libraies模塊也是一個包管理模塊,也可以在這個模塊添加jar包給模塊使用,并且可以對jar進行分類或者重新命名



這時候module2也可以使用fastjson的jar包了

正常使用

這時可以回頭看Modules模塊中的module2的Dependencies內容,jar包相關為剛才的分組和命令
Facets
Facets主要是用來做web項目的web.xml文件,web資源目錄等一些目錄的確認,一般來說,使用涉及到的較少

Artifacts
Artifacts主要是用來做打包相關的配置,不過一般項目都會使用maven/gradle等包管理工具管理相關依賴和打包動作,所以不深入介紹

SDKs
sdks是配置全局sdk,一般不做更改