web项目从Myeclipse迁移到idea的二三事
今天新接手了一个myeclipse项目,想把这个项目从myeclipse迁移到idea,花了点时间,也遇到一些新的问题,打算记录下来。
这是myeclipse的项目结构
我整理一下
整理的时候,我碰到了一下的一下的一些问题:
1 . maven报错:Could not find artifact net.sf.json-lib
myeclipse中的pom
maven 在编译的时候,发现无法引用该jar包,网上翻阅资料发现,这个引用关系到jdk版本的实现,jdk13和jdk15。
正确的引用应该是这样:
当然讲jdk15改成jdk13也是可以的。
2 E:\idea_project\danbao\danbao\src\main\java\com\longge\util\TwoDimensionCode.java:[18,31] 错误: 程序包com.sun.image.codec.jpeg不存在
定位一下这个文件,发现竟然是属于rt.jar文件里面的,maven编译竟然无法识别这个jar包,网上翻阅查询资料后发现,竟然是com.sun这个依赖引用的锅。
运来这个jar包是属于“Deprecated and restricted API” 翻译过来就是 “弃用和限制API” 这是单独属于sun公司的一个API,现在出现的公有包能很好地取代com.sun,在jdk1.7以上的环境中已经把这种私人包给屏蔽了,项目在myeclipse编译时用得jdk1.6我本地在idea运行时的环境是jdk1.7,解决方案,在pom文件中增加插件,表明jre的路径。
这样就是解决了这个编译问题,jce.jar包找不到也同理。
3 maven编译时无法识别lib文件夹下的jar包
我是已经在项目的配置中给这个module添加配置好的依赖的,发现这个maven并没有识别。后来百度了一下maven发现,maven只会加载pom.xml中定义的依赖jar,手动添加的jar包不会被自动加载,也就是说lib文件夹下面的包并不会别maven自动加载,需要我们手动加载。
添加完这个插件之后,就能解决这个问题了。
这里多贴一下maven的目录约定:
${proj-dir}/src/main/Java —— 存放项目的.java文件。
${proj-dir}/src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件。
${proj-dir}/src/test/jave —— 存放所有测试.java文件,如JUnit测试类。
${proj-dir}/src/test/resources —— 测试资源文件。
${proj-dir}/target —— 项目输出位置。
这个${project.basedir}是一定要写的,不然换个环境可能还会报jar包找不到的错误。
其实maven是个很强大的项目管理工具,只不过他它做的很多工作都对用户隐藏了,我们只需要遵守它的约定,就能愉快的玩耍了。
4 maven 编译时识别自己写的程序包
这个错误的根源其实在项目结构,或者说着既然是个maven项目,就要遵守maven的游戏规则。
对于这个错误,有两个解决方法。
4.1调整包的结构,也就是挪动源文件的位置,因为这个项目不是maven的“父子”依赖关系,一个module可以作为另一个的module,或者需要用的“工具类”并没有单独拿出来再新建一个maven项目,没法打成jar包,供主项目文件去引用。
4.2依靠maven插件,讲“工具类”,“服务类”作为资源文件,然后主文件能引用,个人推荐第二种方法,虽然我是用了第一种“笨方法”解决的问题。
以上就是我在这次迁移项目中主要遇到的问题,记录下来,供日后总结学习。
转载于:https://www.cnblogs.com/constantingF/p/7425189.html
web项目从Myeclipse迁移到idea的二三事相关推荐
- 在eclipse中创建web项目(非myeclipse)
如何创建dynamic web project项目 本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用 ...
- Python Flask web 项目零改动迁移至阿里云函数计算
引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...
- myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目
下载 Maven http://maven.apache.org/download.cgi,解压到任意非C盘位置,比如:D:\Java\apache-maven-3.1.0 打开 Myeclipse ...
- 一个web项目在myeclipse中add deployment时无法被识别出来的原因
当我们一个web项目,在myeclipse中,add deployment时,可能发现,根本无法被识别成web项目,可能的原因有: 1. 项目的properties ->Myeclipse ...
- 华为Ascend众智计划项目--3DMPPE_ROOTNET--Pytorch模型迁移至NPU(二)
系列文章目录 项目信息.本地GPU单卡复现: 华为Ascend众智计划项目–3DMPPE_ROOTNET–Pytorch模型迁移至NPU(一) 模型迁移--本地代码添加: 华为Ascend众智计划项目 ...
- idea springboot web项目创建并集成mybatis+springmvc(二)
完整项目下载地址:https://download.csdn.net/download/qq_34288630/10519597 springboot项目创建步骤:https://blog.csdn. ...
- java JNI调用C++代码(给出一个简单java application示例和实际java web项目过程及错误解决)(二)
二.java web 服务器(tomcat)调用图像处理C++代码项目实例 转载请注明:https://blog.csdn.net/xitie8523/article/details/80009821 ...
- web项目中使用标签打印机打印条形码及二维码
在页面上通过"打印"按钮,打印div内容,实现标签的打印(含有条形码和二维码). 操作步骤:1,加载js,jquery-1.3.2.min.js引用jquery. jquer ...
- 将 Web 项目从 Visual Studio .Net 2002/2003 转换到 Visual Studio 2005 的分步指南
本页内容 转换注意事项 第一部分:准备要转换的 Visual Studio .Net 2002/2003 Web 项目 第二部分:迁移您的 Web 项目 第三部分:完成迁移的迁移后步骤 第四部分:其他 ...
最新文章
- 03Django基本应用结构
- R语言使用ggplot2可视化堆叠条形图,并在堆叠条形图上显示数据值实战
- 使用PHP顶替JS有趣DOM
- 拦截导弹(二分匹配)
- [ASP.NET Core] Static File Middleware
- 后台和前台对转义符号'/'同时起作用的例子
- mysql中索引约束有哪些_Mysql中索引和约束的示例语句
- linux 设备驱动总结,linux设备驱动归纳总结.doc
- js对浏览器内部及外部窗口宽度及高度使用测试
- 转浅谈缓存击穿、缓存并发和缓存失效
- aqua data studio 连接db2
- 购买域名不得不注意的事项
- 【计算机游戏开发】游戏交互界面设计
- T-Bootstrap-day04-组件、boot的定制、scss基础语法和函数
- 如何理解高内聚,低耦合
- incrby redis 最大值_redis incr incrby decr decrby命令
- 2022-2028全球细胞和基因治疗制造服务行业调研及趋势分析报告
- 中国航天日,让我们一起遨游浩瀚宇宙,拥抱星辰大海
- console.log(console.log) = ?
- 公安机关互联网安全监督规定检查规定解决方案
热门文章
- python自动登录百度空间
- TTL转485电路设计
- [react] 为什么建议Fragment包裹元素?它的简写是什么?
- Taro+react开发(80):状态改变的构造函数
- React开发(155):请求方式得问题
- 前端学习(3124):react-hello-react之对props进行限制
- 前端学习(3005):vue+element今日头条管理--处理布局完成
- [vue] vue的:class和:style有几种表示方式?
- [css] 请问display:inline-block在什么时候会显示间隙?
- [css] width属性的min-content和max-content有什么作用