溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

發(fā)布時間:2023-03-11 10:15:50 來源:億速云 閱讀:512 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下IDEA 怎么導(dǎo)入別人的javaweb項目進(jìn)行部署的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

準(zhǔn)備工作

IDEA

安裝IDEA,這個是就不需要多說了,不過雖然版本一般不會影響配置javaweb,但是防止版本不一致部分操作可能不同,還是發(fā)出我使用的IDEA版本
我的IDEA版本為: IDEA 2021.1.3

tomcat

首先,你本機(jī)一定需要下載一個tomcat,版本無所謂都是可以的。然后記住你下載tomcat存放到本機(jī)的位置。如我的在D盤

D:\software\tomcat\apache-tomcat-9.0.54

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

jdk

同樣,你的本機(jī)需要下載安裝jdk,這邊有一點(diǎn)很重要,
配置javaweb,里面的jdk版本一定要跟著javaweb項目來。
我的jdk路徑同樣也是在D盤

D:\software\jdk

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

javaweb結(jié)構(gòu)

以下貼出我導(dǎo)入前的javaweb項目結(jié)構(gòu)
以我的項目名稱:HRMS

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

然后進(jìn)行導(dǎo)入到idea
點(diǎn)擊 File--->Open

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

找到你的本地的javaweb項目,點(diǎn)擊OK即可

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

然后它提示我是否打開新窗口打開項目,選擇是New Window

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

導(dǎo)入后的項目結(jié)構(gòu)

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

這些就是我項目中的結(jié)構(gòu)了,但是我們很多文件都不需要看,
配置文件你最主要的是需要看WebContent--->WEB-INF文件
配置文件你最主要的是需要看WebContent--->WEB-INF文件
配置文件你最主要的是需要看WebContent--->WEB-INF文件
重要的事情說三遍!!!

此外,還有一個很重要的事情,萬一,你的IDEA沒有識別出你的javaweb項目的src是java代碼
需要標(biāo)注src文件夾為資源文件(即src文件夾不是藍(lán)色)
對src文件夾鼠標(biāo)右鍵----》Mark Directory as ----》 Rources Root

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

配置JavaWeb項目

接下來是重頭

project Structure…

點(diǎn)擊File ---> project Structure...
打開項目配置界面
界面為

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

project Structure… --> Project

里面的Project界面需要配置兩個,一個是Project SDK,一個是Project language level
SDK即jdk, language level即jdk版本
導(dǎo)入本機(jī)配置好的jdk(這里不額外教學(xué)idea配置jdk,詳情百度,如果沒有的話)
選擇對應(yīng)javaweb項目的jdk版本
一般大部分javaweb項目版本都是jdk1.8,和我的一樣也是OK的

我的為:

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署


SDK 1.8 version

language level 8 -Lambdas,type annotations etc.

另外
ps:一般情況,Project complier output這里都需要進(jìn)行配置打包生成位置

project Structure… --> Libraries

可以看到我這邊并沒有直接配置Modules,而是先Libraries

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

這個是java代碼需要的依賴包,如果你有寫過Maven項目或者說是Springboot項目,和在pom.xml引入依賴的原理是一樣的。
初始為上圖,什么內(nèi)容都沒有,為空;
然后我們點(diǎn)擊加號+
選擇java引入

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

在我的項目中,只有在webContent--->WEB-INF ---> lib文件夾下才有對應(yīng)的jar包,所以我只需要引入這個地方的jar包即可。
如果你的項目中有別的文件夾也有jar包,需要一并引入

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

點(diǎn)擊OK,然后會提示

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

Library 'lib' will be added to the selected modules
意思是是否將引入的這個包引入到modules模塊,也就是我跳過的地方
引入modules,也意味著,它是會引入到整個項目的配置,
我們選中,然后點(diǎn)擊OK即可

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

project Structure… --> Modules

這個時候我們再回過頭看看modules界面
拋開剛剛引入的lib
剩下的為初始界面

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

同樣,我們來看看Modules--->Sources

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

以及Modules--->Paths

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

Sources里代表的是我們整個項目的資源情況
Paths 進(jìn)行配置導(dǎo)包的操作,一般情況下,javaweb導(dǎo)包是會生成war,tomcat進(jìn)行啟動。
這里Modules我們什么都不需要操作,只給大家說明作用。

project Structure… --> Facets

Facets
初始界面為:

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

初始是空白的狀態(tài),什么都沒有。它的作用就一個:
讓IDEA知道這個項目是什么項目,知道需要怎么去運(yùn)行這個項目,配置框架
我們這個項目是javaweb項目,自然而然需要配置為web框架
點(diǎn)擊加號+,選擇web

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

同樣也會提示一個提示

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

Web facet will be added to selected module

它的意思是是否將web框架添加到選擇的module模塊
同樣我們,選中項目module,選擇OK

接下來一步非常重要
接下來一步非常重要
接下來一步非常重要

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

假如你現(xiàn)在點(diǎn)擊Apply應(yīng)用配置的話,你會發(fā)現(xiàn),項目會多出一個文件夾web

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

但是只到這里的話,該操作
默認(rèn)給你創(chuàng)建一個新的web項目,
而不是將你導(dǎo)入的javaweb項目標(biāo)記為web項目,
所以我們需要更改配置。

Facets ---> Type
選中,點(diǎn)擊畫筆,修改

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

將該配置映射到我們導(dǎo)入的javaweb項目的web.xml

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

即選擇自己導(dǎo)入項目的WebContent -- > WEB-INF ---> web.xml文件
點(diǎn)擊OK

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

繼續(xù)點(diǎn)擊OK

Facets --> Web Resource Directory
選中,點(diǎn)擊畫筆,進(jìn)行修改

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

將其選擇自己項目中的WebContent 文件夾,點(diǎn)擊OK

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

繼續(xù)點(diǎn)擊OK

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

點(diǎn)擊Apply應(yīng)用即可

這里,它提示
'Web' Facet resources are not included in any artifacts
也就是進(jìn)入到我們的下一個配置
Artifacts

project Structure… --> Artifacts

打開Artifacts
初始為

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

也是空白,我們同樣點(diǎn)擊加號+
然后選擇Web Application:Exploded --> From Modules

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

同樣彈窗提示

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

提示
select modules will be included in the created artifact with all dependencies

意思是是否將選擇的模塊包含在創(chuàng)建的組件(artifact)中,并包含所有依賴項

我們也是選中module點(diǎn)擊OK

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

以上我們的javaweb項目的配置都o(jì)k了,
不要忘記點(diǎn)擊Apply進(jìn)行應(yīng)用配置!!!
不要忘記點(diǎn)擊Apply進(jìn)行應(yīng)用配置!!!
不要忘記點(diǎn)擊Apply進(jìn)行應(yīng)用配置!!!

還有一個地方很重要,
在Artifact的進(jìn)行配置需要打成war包的各種
那么你首先需要在該界面的TypeWeb Application Exploded下進(jìn)行配置排查完錯誤之后
把這里的TypeWeb Application Exploded改成Web Application Archive

配置tomcat

接下來我們配置最后一步,配置tomcat

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

點(diǎn)擊Add Configuration添加配置
出現(xiàn)界面如下

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

然后我們點(diǎn)擊加號+
找到tomcat,
選擇local 本機(jī)

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

然后界面為:

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

一般情況下,你如果沒有配置過tomcat
Application server一欄是空的,我們需要點(diǎn)擊右邊的Configure...進(jìn)行找到我們下載到本地的tomcat

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

找到tomcat目錄

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

以下截圖為配置好之后的tomcat

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

這里之后一共需要注意四點(diǎn)

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

Application server: 配置本機(jī)tomcat
URL: 運(yùn)行項目的主url
HTTP port:運(yùn)行項目的端口
Warning:No artifacts marked for deployment:提示需要將運(yùn)行項目的artifact進(jìn)行配置
上述我們已經(jīng)配置完成了,可以點(diǎn)右邊的Fix自動添加
也可以點(diǎn)Deployment手動添加

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

最后同樣也不要忘記Apply應(yīng)用

大部分項目到這里已經(jīng)可以直接運(yùn)行了,點(diǎn)擊三角運(yùn)行即可

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

打包為War包

如果你需要將javaweb項目打包,那么你一定需要在配置界面
在Artifact的進(jìn)行配置
把這里的TypeWeb Application Exploded改成Web Application Archive

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

為了防止緩存等問題,在打包前最好清除一下緩存
點(diǎn)擊Build -- > Build Artifact

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

然后點(diǎn)擊Clean

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

清除完成后,點(diǎn)擊Build

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

最后在配置的輸出路徑能夠找到自己的war包

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

以上大部分的javaweb項目都可以執(zhí)行成功,如果不行,請確認(rèn)是否排查完錯誤,并且按照我的步驟一步步走下來。

當(dāng)然,我的項目還不行,出來了各種問題,于是下面我來講一下我的解決過程

遇到問題處理

我遇到的問題不代表全部解決方案,畢竟代碼這種東西總會出來各種稀奇古怪的問題。有問題不是我這邊總結(jié)發(fā)的可以評論出來,如果我知道會更新文章出來

缺失jar依賴

這種情況下,就需要引入對應(yīng)的jar包
如果是常用的jar我推薦一個maven庫,直接從里面下載jar進(jìn)行引入,如果我給的maven庫沒有對應(yīng)的jar包下載,那么你需要另外找?guī)爝M(jìn)行下載

mvnrepository庫

除了上述常用的jar包出現(xiàn)之外,我還遇到如下問題

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

java: 程序包javax.servlet不存在
這個我通過查找百度,實(shí)際上是tomcat的依賴jar包,只需要引入本地的tomcat的servlet-api.jar包即可

同樣打開Project Structure配置,打開Lbraries界面
點(diǎn)擊右邊已經(jīng)引入的加號,繼續(xù)引入

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

找到tomcat的依賴包servlet-api.jar
注意我的本地的對應(yīng)依賴包路徑為

D:\software\tomcat\apache-tomcat-9.0.54\lib\servlet-api.jar

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

同樣不要忘記Apply應(yīng)用

此外,我還遇到一個

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

該jar包同樣通過百度查找也是tomcat的依賴,需要引入tomcat的jasper.jar
步驟和上面相同

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

未找到j(luò)ar對應(yīng)方法

另外,如果遇到引入的jar沒有問題,但是對應(yīng)的方法爆紅,那么很大可能是由于jar版本不兼容,
這種情況,我通過查找百度得知我遇到的那個jar,高于多少多少版本的對應(yīng)爆紅的方法被刪掉了,然后我一看實(shí)際引入的對應(yīng)jar,確實(shí)高出了不少版本,然后我把對應(yīng)的依賴換成低版本就不報錯了。

對應(yīng)如何替換jar,和配置的Libraries界面操作一樣!

項目實(shí)際啟動結(jié)果

以下截圖為我項目實(shí)際配置好之后啟動的截圖,(只發(fā)出一個入口界面)

IDEA?怎么導(dǎo)入別人的javaweb項目進(jìn)行部署

以上就是“IDEA 怎么導(dǎo)入別人的javaweb項目進(jìn)行部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI