开发者

IDEA 如何导入别人的javaweb项目进行部署

开发者 https://www.devze.com 2023-03-10 10:46 出处:网络 作者: 相与还
目录前言准备工作IDEAtomcatjdkJavaweb结构配置JavaWeb项目配置tomcat打包为War包遇到问题处理缺失jar依赖未找到jar对应方法项目实际启动结果结语前言
目录
  • 前言
  • 准备工作
    • IDEA
    • tomcat
    • jdk
  • Javaweb结构
    • 配置JavaWeb项目
      • 配置tomcat
        • 打包为War包
          • 遇到问题处理
            • 缺失jar依赖
            • 未找到jar对应方法
            • 项目实际启动结果
          • 结语

            前言

            我主要是进行java的springboot项目和vue项目的开发,但是架不住在这些框架兴起之前,公司内部已经是有其他的老的框架,我需要在这些老的框架进行修改和调整代码。原本我是使用的eclipse软件进行部署,也比较简单;

            但是我遇到了一个怎么也解决不了的问题,没有报任何错误,但是tomcat怎么也启动不起来。总是报encountered problem这样的提示问题。

            我不部署任何项目,直接启动本机的tomcat,是能够直接跳转访问到tomcat的管理界面,但是在eclipse一直启动不起来;我搜索的几乎所有的结果,都是说它eclipse配置tomcat会进行重定向,需要把eclipse配置的tomcat的server.XML里的<Context></Context>标签的内容注释掉或删除掉,才能够不会报错。

            但是这边又有一个问题,删除之后确实能够启动tomcat了,我导入的javaweb项目是通过访问index.JSP进行访问项目,发现该配置的都配置了,硬是没有编译成功,没有把主入口编译出来,无法访问到我需要访问的项目。

            ps:我有在第一次配置成功,可以访问,但是项目出现问题;第二次配置的时候就出现上面的情况

            折磨了我很久,于是我打算使用idea进行配置javaweb项目;也折腾了很久,为了以后方便,把我这次使用idea配置javaweb的过程记录下来。

            准备工作

            IDEA

            安装IDEA,这个是就不需要多说了,不过虽然版本一般不会影响配置javaweb,但是防止版本不一致部分操作可能不同,还是发出我使用的IDEA版本

            我的IDEA版本为: IDEA 2021.1.3

            tomcat

            首先,你本机一定需要下载一个tomcat,版php本无所谓都是可以的。然后记住你android下载tomcat存放到本机的位置。如我的在D盘

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

            IDEA 如何导入别人的javaweb项目进行部署

            IDEA 如何导入别人的javaweb项目进行部署

            jdk

            同样,你的本机需要下载安装jdk,这边有一点很重要,

            配置javaweb,里面的jdk版本一定要跟着javaweb项目来。

            我的jdk路径同样也是在D盘

            D:\software\jdk

            IDEA 如何导入别人的javaweb项目进行部署

            javaweb结构

            以下贴出我导入前的javaweb项目结构

            以我的项目名称:HRMS

            IDEA 如何导入别人的javaweb项目进行部署

            然后进行导入到idea

            点击 File--->Open

            IDEA 如何导入别人的javaweb项目进行部署

            找到你的本地的javaweb项目,点击OK即可

            IDEA 如何导入别人的javaweb项目进行部署

            然后它提示我是否打开新窗口打开项目,选择是New Window

            IDEA 如何导入别人的javaweb项目进行部署

            导入后的项目结构

            IDEA 如何导入别人的javaweb项目进行部署

            IDEA 如何导入别人的javaweb项目进行部署

            IDEA 如何导入别人的javaweb项目进行部署

            这些就是我项目中的结构了,但是我们很多文件都不需要看,

            配置文件你最主要的是需要看WebContent--->WEB-INF文件

            配置文件你最主要的是需要看WebCjsontent--->WEB-INF文件

            配置文件你最主要的是需要看WebContent--->WEB-INF文件

            重要的事情说三遍!!!

            此外,还有一个很重要的事情,万一,你的IDEA没有识别出你的javaweb项目的src是java代码

            需要标注src文件夹为资源文件(即src文件夹不是蓝色)

            对src文件夹鼠标右键----》Mark Directory as ----》 Rources Root

            IDEA 如何导入别人的javaweb项目进行部署

            配置JavaWeb项目

            接下来是重头

            project Structure…

            点击File ---> project Structure...

            打开项目配置界面

            界面为

            IDEA 如何导入别人的javaweb项目进行部署

            project Structure… --> Project

            里面的Project界面需要配置两个,一个是Project SDK,一个是Project language level

            SDK即jdk, language level即jdk版本

            导入本机配置好的jdk(这里不额外教学idea配置jdk,详情百度,如果没有的话)

            选择对应javaweb项目的jdk版本

            一般大部分javaweb项目版本都是jdk1.8,和我的一样也是OK的

            我的为:

            IDEA 如何导入别人的javaweb项目进行部署

            SDK 1.8 version

            language level 8 -Lambdas,type annotations etc.

            另外

            ps:一般情况,Project complier output这里都需要进行配置打包生成位置

            project Structure… --> Libr编程客栈aries

            可以看到我这边并没有直接配置Modules,而是先Libraries

            IDEA 如何导入别人的javaweb项目进行部署

            这个是java代码需要的依赖包,如果你有写过Mavwww.devze.comen项目或者说是Springboot项目,和在pom.xml引入依赖的原理是一样的。

            初始为上图,什么内容都没有,为空;

            然后我们点击加号+

            选择java引入

            IDEA 如何导入别人的javaweb项目进行部署

            在我的项目中,只有在webContent--->WEB-INF ---> lib文件夹下才有对应的jar包,所以我只需要引入这个地方的jar包即可。

            如果你的项目中有别的文件夹也有jar包,需要一并引入

            IDEA 如何导入别人的javaweb项目进行部署

            点击OK,然后会提示

            IDEA 如何导入别人的javaweb项目进行部署

            Library 'lib' will be added to the selected modules

            意思是是否将引入的这个包引入到modules模块,也就是我跳过的地方

            引入modules,也意味着,它是会引入到整个项目的配置,

            我们选中,然后点击OK即可

            IDEA 如何导入别人的javaweb项目进行部署

            project Structure… --> Modules

            这个时候我们再回过头看看modules界面

            抛开刚刚引入的lib

            剩下的为初始界面

            IDEA 如何导入别人的javaweb项目进行部署

            同样,我们来看看Modules--->Sources

            IDEA 如何导入别人的javaweb项目进行部署

            以及Modules--->Paths

            IDEA 如何导入别人的javaweb项目进行部署

            Sources里代表的是我们整个项目的资源情况

            Paths 进行配置导包的操作,一般情况下,javaweb导包是会生成war,tomcat进行启动。

            这里Modules我们什么都不需要操作,只给大家说明作用。

            project Structure… --> Facets

            Facets

            初始界面为:

            IDEA 如何导入别人的javaweb项目进行部署

            初始是空白的状态,什么都没有。它的作用就一个:

            让IDEA知道这个项目是什么项目,知道需要开发者_Go教程怎么去运行这个项目,配置框架

            我们这个项目是javaweb项目,自然而然需要配置为web框架

            点击加号+,选择web

            IDEA 如何导入别人的javaweb项目进行部署

            同样也会提示一个提示

            IDEA 如何导入别人的javaweb项目进行部署

            Web facet will be added to selected module

            它的意思是是否将web框架添加到选择的module模块

            同样我们,选中项目module,选择OK

            接下来一步非常重要

            接下来一步非常重要

            接下来一步非常重要

            IDEA 如何导入别人的javaweb项目进行部署

            假如你现在点击Apply应用配置的话,你会发现,项目会多出一个文件夹web

            IDEA 如何导入别人的javaweb项目进行部署

            但是只到这里的话,该操作

            默认给你创建一个新的web项目,

            而不是将你导入的javaweb项目标记为web项目,

            所以我们需要更改配置。

            Facets ---> Type

            选中,点击画笔,修改

            IDEA 如何导入别人的javaweb项目进行部署

            将该配置映射到我们导入的javaweb项目的web.xml

            IDEA 如何导入别人的javaweb项目进行部署

            即选择自己导入项目的WebContent -- > WEB-INF ---> web.xml文件

            点击OK

            IDEA 如何导入别人的javaweb项目进行部署

            继续点击OK

            Facets --> Web Resource Directory

            选中,点击画笔,进行修改

            IDEA 如何导入别人的javaweb项目进行部署

            将其选择自己项目中的WebContent 文件夹,点击OK

            IDEA 如何导入别人的javaweb项目进行部署

            继续点击OK

            IDEA 如何导入别人的javaweb项目进行部署

            点击Apply应用即可

            这里,它提示

            'Web' Facet resources are not included in any artifacts

            也就是进入到我们的下一个配置

            Artifacts

            project Structure… --> Artifacts

            打开Artifacts

            初始为

            IDEA 如何导入别人的javaweb项目进行部署

            也是空白,我们同样点击加号+

            然后选择Web Application:Exploded --> From Modules

            IDEA 如何导入别人的javaweb项目进行部署

            同样弹窗提示

            IDEA 如何导入别人的javaweb项目进行部署

            提示

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

            意思是是否将选择的模块包含在创建的组件(artifact)中,并包含所有依赖项

            我们也是选中module点击OK

            IDEA 如何导入别人的javaweb项目进行部署

            以上我们的javaweb项目的配置都ok了,

            不要忘记点击Apply进行应用配置!!!

            不要忘记点击Apply进行应用配置!!!

            不要忘记点击Apply进行应用配置!!!

            还有一个地方很重要,

            在Artifact的进行配置需要打成war包的各种

            那么你首先需要在该界面的TypeWeb Application Exploded下进行配置排查完错误之后

            把这里的TypeWeb Application Exploded改成Web Application Archive

            配置tomcat

            接下来我们配置最后一步,配置tomcat

            IDEA 如何导入别人的javaweb项目进行部署

            点击Add Configuration添加配置

            出现界面如下

            IDEA 如何导入别人的javaweb项目进行部署

            然后我们点击加号+

            找到tomcat,

            选择local 本机

            IDEA 如何导入别人的javaweb项目进行部署

            然后界面为:

            IDEA 如何导入别人的javaweb项目进行部署

            一般情况下,你如果没有配置过tomcat

            Application server一栏是空的,我们需要点击右边的Configure...进行找到我们下载到本地的tomcat

            IDEA 如何导入别人的javaweb项目进行部署

            找到tomcat目录

            IDEA 如何导入别人的javaweb项目进行部署

            以下截图为配置好之后的tomcat

            IDEA 如何导入别人的javaweb项目进行部署

            这里之后一共需要注意四点

            IDEA 如何导入别人的javaweb项目进行部署

            Application server: 配置本机tomcat

            URL: 运行项目的主url

            HTTP port:运行项目的端口

            Warning:No artifacts marked for deployment:提示需要将运行项目的artifact进行配置

            上述我们已经配置完成了,可以点右边的Fix自动添加

            也可以点Deployment手动添加

            IDEA 如何导入别人的javaweb项目进行部署

            IDEA 如何导入别人的javaweb项目进行部署

            最后同样也不要忘记Apply应用

            大部分项目到这里已经可以直接运行了,点击三角运行即可

            IDEA 如何导入别人的javaweb项目进行部署

            打包为War包

            如果你需要将javaweb项目打包,那么你一定需要在配置界面

            在Artifact的进行配置

            把这里的TypeWeb Application Exploded改成Web Application Archive

            IDEA 如何导入别人的javaweb项目进行部署

            为了防止缓存等问题,在打包前最好清除一下缓存

            点击Build -- > Build Artifact

            IDEA 如何导入别人的javaweb项目进行部署

            然后点击Clean

            IDEA 如何导入别人的javaweb项目进行部署

            清除完成后,点击Build

            IDEA 如何导入别人的javaweb项目进行部署

            最后在配置的输出路径能够找到自己的war包

            IDEA 如何导入别人的javaweb项目进行部署

            以上大部分的javaweb项目都可以执行成功,如果不行,请确认是否排查完错误,并且按照我的步骤一步步走下来。

            当然,我的项目还不行,出来了各种问题,于是下面我来讲一下我的解决过程

            遇到问题处理

            我遇到的问题不代表全部解决方案,毕竟代码这种东西总会出来各种稀奇古怪的问题。有问题不是我这边总结发的可以评论出来,如果我知道会更新文章出来

            缺失jar依赖

            这种情况下,就需要引入对应的jar包

            如果是常用的jar我推荐一个maven库,直接从里面下载jar进行引入,如果我给的maven库没有对应的jar包下载,那么你需要另外找库进行下载

            mvnrepository库

            除了上述常用的jar包出现之外,我还遇到如下问题

            IDEA 如何导入别人的javaweb项目进行部署

            java: 程序包javax.servlet不存在

            这个我通过查找百度,实际上是tomcat的依赖jar包,只需要引入本地的tomcat的servlet-api.jar包即可

            同样打开Project Structure配置,打开Lbraries界面

            点击右边已经引入的加号,继续引入

            IDEA 如何导入别人的javaweb项目进行部署

            找到tomcat的依赖包servlet-api.jar

            注意我的本地的对应依赖包路径为

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

            IDEA 如何导入别人的javaweb项目进行部署

            同样不要忘记Apply应用

            此外,我还遇到一个

            IDEA 如何导入别人的javaweb项目进行部署

            该jar包同样通过百度查找也是tomcat的依赖,需要引入tomcat的jASPer.jar

            步骤和上面相同

            IDEA 如何导入别人的javaweb项目进行部署

            未找到jar对应方法

            另外,如果遇到引入的jar没有问题,但是对应的方法爆红,那么很大可能是由于jar版本不兼容,

            这种情况,我通过查找百度得知我遇到的那个jar,高于多少多少版本的对应爆红的方法被删掉了,然后我一看实际引入的对应jar,确实高出了不少版本,然后我把对应的依赖换成低版本就不报错了。

            对应如何替换jar,和配置的Libraries界面操作一样!

            项目实际启动结果

            以下截图为我项目实际配置好之后启动的截图,(只发出一个入口界面)

            IDEA 如何导入别人的javaweb项目进行部署

            结语

            以上为我使用IDEA 导入别人的javaweb项目进行部署

            也走了很多弯路,发出来除了作记录,也帮助需要的人进行配置。

            再后面如果更新,很大是会在遇到的配置的问题上进行更新,以上。

            到此这篇关于IDEA 如何导入别人的javaweb项目进行部署的文章就介绍到这了,更多相关idea导入javaweb项目部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

            0

            精彩评论

            暂无评论...
            验证码 换一张
            取 消

            关注公众号