前言
最近接到任务,需要接入 paypal 支付,于是在官网上下载到了 Java 版本的 Demo(下载地址:https://demo.paypal.com/c2/demo/code_samples 使用PayPal Credit结账
一栏找到 Java
,点击下载),打算本地运行调试一下。因为是老的servlet
项目且上次写还是5年前刚入门的时候,心里也是忐忑怕跑不起来。果然,怕什么来什么,一导入到 IDEA 就各种报错,各种配置一番折腾之后总算跑起来了。特此记录下正确的导入、运行姿势,以备日后遗忘后可以翻看。
参考:https://www.bilibili.com/video/BV1oV4y1b7Ga/
二、项目情况(前期准备)
如下截图,下载的项目一般文件都比较多,我们只需要保留我们要用到的文件。
方式一(推荐)
打开 idea,选择导入项目
三、导入及项目配置
导入方式一,使用 Idea 的导入项目(推荐)
打开 idea,选择导入项目,选择我们需要导入的项目。
导入步骤:基本一直下一步即可。
注意:导入步骤 finish后,进入到项目可能会遇到的情况:项目报错,提示找不到 servlet 的包。项目是 tomcat 下运行的,tomcat-lib 是自带 servlet 包的,包名:servlet-api.jar。我们只需 tomcat-lib 引入进入即可,报错如下图,引入方法请看后面的2、引入 tomcat-lib
。
1、ctrl + shift + alt + s,调出 project stucture 页面。
2、引入 tomcat-lib(可选)
找到 module,添加,选择 Library,选择 Tomcat。
3、设置 Artifacts(打包相关,决定了编译后的位置,后续 tomcat 运行需要指定此处创建的 Artifacts)
4、Module 添加 Spring 框架(可选)
注意,这一步是可选,不是 Spring 项目忽略此项,即使是 Spring 项目不配置这一项也不影响运行。
配置之后,可以在 Idea 底部 Spring
一栏看到项目有什么 Bean 之类的信息。
导入方式二,使用 Idea 的打开项目(全部手动配置)
此方法相当于,将第一种自动配置的所有设置通过手动的方式一一配置。不推荐,但是这个方法对 Idea 做了什么、配置项有什么会有更深入的认识,推荐配置一次熟悉熟悉。一般maven
项目直接打开,idea
就会帮我们配置好,但是传统的项目就没有这种待遇了。
1、配置 project
2、配置 module
3、配置 lib
4、配置 artifacts
第二步点击fix
之后就会自动创建artifact
了。而第三步创建完lib
之后,这个页面底部会有一个将lib
加入artifact
的fix
,点击fix
即可。
5、Module 添加 Spring 框架(可选)
参考导入方式一。
6、导入 tomcat-lib(可选)
出现了servlet
依赖缺失的错误,参考导入方式一。
四、运行 - 配置 tomcat
1、创建 tomcat
2、指定 artifacts(方式有两种,看截图)
3、设置 Application Context 为 ”/“ ,请看指定 artifacts 方式二的截图
4、优化
设置 - 更新类或资源文件自动 reload
五、其他
1、遇到如下异常,日志刷屏 Spring 创建 Bean 都失败了
nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [/WEB-INF/mybatis-mapper/**/*.xml]: ServletContext resource [/WEB-INF/mybatis-mapper/] cannot be resolved to URL because it does not exist
原因:sqlSessionFactory Bean 配置中指定了参数mapperLocations
的值为/WEB-INF/mybatis-mapper/**
,但是这个目录mybatis-mapper
是空的,编译的时候空目录
忽略掉,导致运行的时候找不到该目录,最终导致启动失败。
解决办法:1、在编译后的目录下创建目录mybatis-mapper
2、空目录随便放一个文件进去,编译后就会存在。