关于Eclipse导出可执行jar包的几个问题

A_Le 2017-09-20 02:13:41

项目原先是使用旧版本的eclipse。并且使用maven配置工程的。后来使用了最新版本的eclipse。因为翻不了墙,所以在.m2的文件夹目录下添加了阿里云的配置文件。然而阿里云的servlet-api.jar是6.0的。我使用的9.0版本的。所以这导致了出现异常。之后,我便将Tomcat下的servlet-api.jar拷贝到%JAVA_HOME%/jre/ext下。直接运行工程。发现没有异常。
重点是,我在使用Eclipse时,导出可执行jar包时。因为工程的原因,第一种导出方式不使用。所以选择了第二个导出方式。导出完成后运行jar包。发现异常还在。便使用了第三种导出方式。在第三种导出方式,导出后,看了lib文件发现servlet-api.jar还是6.0的。所以便得知了上面交待阿里云的servlet-api.jar旧版本的原因。之后便在pom.xml里面删除了servlet-api.jar的配置。让其自动查找环境变量下配置的servlet-api.jar的版本。第三种方式是可行的。不过,第二种还是出现之前的异常了。打开jar包查看也并非有6.0版本的servlet-api.jar包。


所以有了以下些个疑问:
1.这三种打包方式各有什么优缺点?(如果有的话)
2.这三种使用依赖的jar的路径搜索不一样么?
3.如果想要使用第二种导出方式,我该怎么去解决这个问题?
...全文
375 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
那场遇见 2017-09-21
  • 打赏
  • 举报
回复
三种jar包添加方式区别 1)直接用MyEclipse里自带的相关的项目jar包: 这种方式,jar文件直接链接到MyEclipse的文件下,并没有拷贝到WEB-INF/lib目录下,不得用项目的发布、移植,可能会出现jar找不到的情形 2)添加外部的jar包到web项目的lib包下: 选择性比较的强,可以随意的加jar包,只要在本机存在就可以了,链接的也是jar文件的绝对路径,缺点同1 3)手动拷贝jar文件到项目的lib包下: 直接添加到WEB-INF/lib目录下,移植性强,可操作性也强 ProjSolution
A_Le 2017-09-21
  • 打赏
  • 举报
回复
引用 3 楼 changkang1990 的回复:
三种jar包添加方式区别 1)直接用MyEclipse里自带的相关的项目jar包: 这种方式,jar文件直接链接到MyEclipse的文件下,并没有拷贝到WEB-INF/lib目录下,不得用项目的发布、移植,可能会出现jar找不到的情形 2)添加外部的jar包到web项目的lib包下: 选择性比较的强,可以随意的加jar包,只要在本机存在就可以了,链接的也是jar文件的绝对路径,缺点同1 3)手动拷贝jar文件到项目的lib包下: 直接添加到WEB-INF/lib目录下,移植性强,可操作性也强 ProjSolution
那我在第二种导出来的jar包里,在添加个jar包。这个新添加的jar包。能访问到?如果是工程必备的条件下。是不是第二种导出jar包,那么在导出来的这个jar包里添加了一个新的jar包。这个新的jar包路径是?是取真实物理路径的jar包存在地方。还是相对外层的jar包的绝对路径。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧