博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyEclipse中jar包管理技巧
阅读量:5931 次
发布时间:2019-06-19

本文共 2091 字,大约阅读时间需要 6 分钟。

hot3.png

文章来自互联网,记录备查。

在用MyEclipse做企业级开发的过程中,我们经常会接触很多jar,主要包括以下几类: 一是应用服务器上的jar包,二是项目所需jar包,三是开发环境所需jar包。很明显可以看出jar包是如此重要,以至于没有它们,我们很难艺术地运用封装/模块化/复用等.

      为此,我们有必要对项目开发中涉及到的jar包引入/管理操作作一个比较全面的了解,为进一步提高开发效率做好铺垫.

 

 .jar包导入方式

     A.直接用MyEclipse里自带的相关的项目jar包,右击项目“MyEclipse”菜单,选择对应的jar包就OK了,例如“Add Hibernate Capabilities”,并且可以设置Hibernate的一些配置信息,不错的可视化操作;

     B.添加外部的jar包到web项目的lib包下,右击项目“Properties”-->“Java Build Path”-->“Libraries”选项卡;

     C.自己手动拷贝jar文件到项目的lib包下,具体操作只要把要添加的jar文件拷贝到MyEclipse中的workspace下的lib包里就好了;

       以上三种方式导入jar包都可以,但是怎么抉择呢?对于方式1, jar文件直接链接到MyEclipse的文件下,并没有拷贝到WEB-INF/lib目录下,不得用项目的发布、移植,可能会出现jar找不到的情形;方式2同样有这个缺点;方式3直接添加到WEB-INF/lib目录下,移植性强,可操作性也强。建议使用第三种方式,个人偏好而已.

 

.jar包显示隐藏方式

       不同的开发人员,都有着他固有的开发习惯,有的人就觉得把jar包显示在开发视图里太碍眼,看起来不舒服,复杂。而有些人就想研究看看到底导了哪些jar包,运用了哪些技术并且通过点击jar包里的class文件直接查看源码(假设先前有导入源码)。所以呢,这里就牵涉到了一个jar包的显示与隐藏问题了:在Package Explorer这个窗体中,右上角有个下拉小三角,点击-->“Filters”-->“Name filter patternsmatching names will be hidden,在这一选项下填有*.jar,勾上复选框即表示这一类的文件不显示,多个类型之间可用“,”分隔。

 

.去除eclipsejar包关联性警告

   我们在开发过程中会接触到两种环境,一是开发环境(对应eclipse中的类路径),二是运行环境(对应应用服务器中的类路径)。这时两个环境中jar包的关系就比较复杂了。这时处理jar包间的关系的总体原则是要保持这两个环境中jar包的版本一致或者兼容。   

  在项目WEB-INF/lib目录中的jar包是两个环境中共用的部分。这部分jar包要求不能和两个环境中的jar包有冲突,也就是说lib目录下的jar包是和两个环境中的jar包互补的。而两个环境中的jar包原则上应该是相同的或者兼容的。
  例如在eclipse下开发javaEE项目,我们会用到javaEE相关的jarjavaEE.jar,这时的需求是开发环境的需求。但在应用服务器环境中就不需要这个jar,因为应用服务器中会有相关的javaEEjar包。这时如果我们将项目发布到应用服务器环境中,就会发生jar包冲突的情况。可是我们在开发时还要用这个包,发布时还不能发布到应用服务器中,这怎么办呢?  解决的办法如下:
  在eclipse中加入这个jar(这个jar包当然不在项目目录中了)eclipse会提示:

Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.  

Classpath entry XXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result.

  因为我们这时候确认这个jar包是不需要部署到应用服务器环境中的(如果需要就直接放到lib目录下就可以了,就不用费这个事了),所以我们做如下操作,解除eclipse这种依赖关系的提示:

点中提示信息-->右键-->Quick fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.  

点中提示信息-->右键-->Quick fix->exclude the associated raw classpath entry from the set of potential publish/export dependencies-->finish.

 

转载于:https://my.oschina.net/u/877170/blog/399268

你可能感兴趣的文章
搭建Elasticsearch 5.4分布式集群
查看>>
使用StarUML画用例图
查看>>
Maven-3.3.9 Install and Oozie-4.3.0 Compile
查看>>
用备份控制文件做不完全恢复下的完全恢复(数据文件备份<旧>--新建表空间--控制文件备份<次新>--日志归档文件<新>)...
查看>>
将数据库迁移到SQL Azure的三种方式(转)
查看>>
pg_stat_database的字段tup_returned,tup_fetched含义
查看>>
【资料合集】2018云栖大会•深圳峰会回顾合集:PDF下载
查看>>
畅通工程(并查集)
查看>>
IIS 支持 m3u8
查看>>
自定义MessageBox的窗口颜色,字体等属性
查看>>
Android6.0动态权限申请步骤以及需要注意的一些坑
查看>>
JVM的数据类型
查看>>
linux 内核移植(八)——移植三星移植过的内核
查看>>
Windows server 2008 R2 安装sharepoint2010
查看>>
美国发明家研究长寿之法 技术可让人不再死亡
查看>>
mybatis中${}和#{}的区别
查看>>
第一个程序HelloWorld
查看>>
dns劫持分析
查看>>
美国推出世界首款可自动调音吉他机器人
查看>>
ansible统一配置zabbix
查看>>