码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • IDEA抢救10年前WEB项目


    IDEA多种方式管理WEB项目

    • 背景
      • 那些重要的事
        • 场景:十年老项目ICU抢救
        • 思路:
          • 生产的war项目解压目录
          • 生产的jar 项目解压
        • 引入jar包的方式
          • 手动安装依赖的JAR包
          • 直接把jar包引入到项目中
            • 引入方式1:
            • 引入方式2:
      • 项目构建通过了能部署运行吗?
        • IDEA有时候会缓存编译的源码
          • tomcat 配置
        • 越写越多 tomcat 虚拟路径
          • 虚拟路径干啥用的?
          • IDEA配置虚拟路径
          • tomcat配置虚拟路径
        • 最后在说一种不适用IDEA中的maven方式打包的过程
          • 直接使用maven目录无需打开IDEA
          • 是用IDEA的项目构建打包
          • 最后在介绍一个rebuild project

    背景

    很多朋友到一个公司肯定会遇到项目构建问题,
    忽然间一个老项目十年以前的架构了。
    假设项目有JSP或者很多当前时代看不见的配置模块。

    那些重要的事

    你要相信自己不会错,只要了解项目结构与开发工具没有一点关系:

    场景:十年老项目ICU抢救

    在这里插入图片描述

    假如这个项目有maven管理的pom.xml文件,而且pom.xml文件没有变红的都是正常的依赖成功了;但是项目代码还是构建不成功会报错。而且生产环境项目也一直在运行呢。

    思路:

    这种情况可能是上一个发布项目的兄弟是手动引入的依赖JAR包,
    想要找到这个JAR包可以去生产环境拿到在运行的项目war或者jar项目
    解压缩以后找到依赖的lib目录,看看maven的pom.xml没有同步管理的。

    生产的war项目解压目录

    在这里插入图片描述
    在这里插入图片描述
    看看我这项目够老的了吧。

    生产的jar 项目解压

    在这里插入图片描述
    在这里插入图片描述
    到如上的目录寻找没有在maven的Pom.xml中的jar包

    引入jar包的方式

    由于项目本身就比较老,或者引入的jar包也比较老尽量别更新,还是使用生产环境的JAR包

    手动安装依赖的JAR包

    举个例子:安装oracle驱动包
    使用CMD命令使用管理员执行:
    mvn install:install-file -Dfile=ojdbc7-12.1.0.2.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar
    对应的maven的pom.xml
    在这里插入图片描述
    -Dfile=ojdbc7-12.1.0.2.jar 要安装的JAR文件
    -DgroupId=com.oracle 组织机构
    -DartifactId=ojdbc7 坐标位置
    -Dversion=12.1.0.2 版本号
    -Dpackaging=jar 使用jar打包

    直接把jar包引入到项目中

    引入方式1:

    首先把依赖的jar放到项目中
    在这里插入图片描述
    然后我们到IDEA引入其中的jar包
    在这里插入图片描述
    在这里插入图片描述

    引入方式2:

    在这里插入图片描述
    以上两种方案都可以的

    项目构建通过了能部署运行吗?

    IDEA有时候会缓存编译的源码

    tomcat 配置

    我的本地运行常规配置updateResorces 就是编译前台页面也不需要重启服务
    jvm:-Xms512m -Xmx512m -Dfile.encoding=UTF-8
    在这里插入图片描述

    越写越多 tomcat 虚拟路径

    虚拟路径干啥用的?

    场景:假设你有一个需求上传附件 或者图片,你要上传一个硬盘的目录,不能上传到项目路径里面。
    你上传图片成功以后想在页面预览到这个图片效果

    <img src="xxxxxx" href='xxxxx'>
    
    • 1

    此时你想直接通过运行的项目路径去访问你的图片资源是不好使的。
    必须借助虚拟路径通过主机+端口:如localhost:8080/imageServer/资源地址

    IDEA配置虚拟路径

    在这里插入图片描述
    在这里插入图片描述

    tomcat配置虚拟路径

    tomcat/confi/server.xml中配置

    <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
    
           <Context docBase="D:\workTools\apache-tomcat-8.0.52\webapps\imageServer" reloadable="true" debug="0" path="/imageServer"/>
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    
          </Host>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    docBase=“D:\workTools\apache-tomcat-8.0.52\webapps\imageServer” 绝对路径位置
    path=“/imageServer” 虚拟路径执行
    最后使用localhost:8080/imageServer+imageServer后面的路径就可以访问了。

    最后在说一种不适用IDEA中的maven方式打包的过程

    当然了你在项目项目路径中直接使maven的命令也可以不用打开项目直接打包

    直接使用maven目录无需打开IDEA

    mvn clean package -Dmaven.test.skip=true		-- 跳过单测打包
    
    • 1

    是用IDEA的项目构建打包

    在这里插入图片描述
    然后点击入下图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    最后在介绍一个rebuild project

    可以清理一下缓存如果出现缓存代码的情况

  • 相关阅读:
    量化交易之One Piece篇 - onepiece_rsh - 按小节时间清洗全市场盘口数据
    C# Linq增强扩展MoreLinq之Acquire
    jQuery_链式编程/end方法
    电脑怎么录音,亲身测评,让你事半功倍!
    Docker(一) ----初始Docker
    【模板】组合数取模
    Spring AOP 详解及@Trasactional
    Mysql 45讲学习笔记(三十五)优化join语句
    DDD进阶_一文带你搞定什么是前台、中台、后台
    APS智能排产在电缆行业的应用
  • 原文地址:https://blog.csdn.net/weixin_43450799/article/details/125618687
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号