项目原先是使用旧版本的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.如果想要使用第二种导出方式,我该怎么去解决这个问题?