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插件,讲“工具类”,“服务类”作为资源文件,然后主文件能引用,个人推荐第二种方法,虽然我是用了第一种“笨方法”解决的问题。

以上就是我在这次迁移项目中主要遇到的问题,记录下来,供日后总结学习。

时间: 2024-12-12 23:30:37

web项目从Myeclipse迁移到idea的二三事的相关文章

我做的一个web项目从tomcat迁移到weblogic遇到的问题

第1个问题: 异常描述:VALIDATION PROBLEMS WERE FOUND problem: cvc-enumeration-valid: string value '3.0' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/javaee:<null> 因为创建项目的时候用的是JAVAEE6,所以生成web.xml文件的时候是这样的: [j

将Intellij Idea创建的web项目转换为MyEclipse版本的web项目

将Intellij Idea创建的web项目转换为MyEclipse版本的web项目,主要创建如下文件,并修改其中的内容: 一..project文件(注意前面的·) <span style="color:#888888;"><?xml version="1.0″ encoding="UTF-8″?> <projectDescription> </span><span style="color:#ff00

一个web项目在myeclipse中add deployment时无法被识别出来的原因

当我们一个web项目,在myeclipse中,add deployment时,可能发现,根本无法被识别成web项目,可能的原因有:   1. 项目的properties ->Myeclipse ->project facets没有修改过来,从eclipse导入web项目,可能是这个原因. 2.  项目的properties ->Myeclipse ->Web里面,Web Context-root没有填上访问web应用应该使用的路径信息.

在eclipse中创建web项目(非myeclipse)

如何创建dynamic web project项目 本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似.我们推荐使用解压版的tomcat6.x版本,来作为服务器.可以到http://tomcat.apache.org 下载. 在创建动态web项目之前,我们先创建一个Server用于在eclipse里运行和调试web项目. 创建一个Server 创建Server是为了方便在eclipse里启动和调试dynamic

java web项目 使用elfinder 实现文件管理器(二)

原文地址:https://www.cnblogs.com/aforever/p/11191514.html

idea导入eclipse的web项目

#                                           idea导入eclipse的web项目 ### 一.导入自己的web项目 #####  步骤:File->New->Project from Existing Source... ### 二.选择项目的所在位置,点击"OK";接着如下图所示的步骤操作: ![图一](http://opm6ymmfb.bkt.clouddn.com/%E5%9B%BE%E7%89%871.png) ![图二

[转]idea导入eclipse的web项目

https://www.cnblogs.com/xiaoBlog2016/archive/2017/05/08/6825014.html 一.导入自己的web项目 步骤:File->New->Project from Existing Source... 二.选择项目的所在位置,点击"OK";接着如下图所示的步骤操作: 三.成功导入项目之后,点击图中红色框中的选项: 四.进入到此页面后,我们先选择”Project”,在”Project SDK”选择自己的JDK,然后在”Pr

Myeclipse中java项目转成Web项目

在eclipse导入一个myeclipse建的web项目后,在Eclipse中显示的还是java项目,按下面的步骤可以将其转换成web项目. 1.找到项目目录下的.project文件 2.编辑.project文件,找到<natures>...</natures> 3.2中找到的结点中加下面的的代码(如果没有) <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <natur

Myeclipse中的web项目审查(jquery-2.1.1.min.js)出现错误

前言,本来在把web项目搞得好看一些,从网上下载了一个很炫酷的模板导入web中,无奈出现了错误,如下: 老出现这个错误,网上查了一下错误原因和解决办法:错误的出现是因为我的版本还是myeclipse10,对js的审查还是比较严格的. 解决办法:右键单击js文件,选择myeclipse,选择exclude from vilidation(前面会初见勾),然后run vilidation.