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 —— 存放项目资源文件,如springhibernate配置文件。

${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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值