eclipse项目转移至IDEA与IDEA tomcat报错(idea自带tomcat版本太高)与war包部署到win服务器与idea提交git的总结
eclipse导出项目到idea时,不要导出target;
idea打开eclipse项目后,出现junit找不到的问题,原因是jar包缺失,而maven配置的低版本的junit也显示找不到,解决办法:
<!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
使用高版本junit即可
缺少servlet-api是因为eclipse自带了这个jar包,而idea没有,所以需要在idea项目里面导入jar包即可,或者配置maven依赖
idea tomcat报错:
原文出处:https://www.timbotetsu.com/blog/spring-boot-2-tomcat-incompatible-version/
Spring Boot 2.0在Windows 7系统下运行持续报错的解决方案
昨天Spring Boot 2.0正式发布,Milestone和RC版本用了很长时间,在自己的macOS机器上开发一直没啥问题
昨天新项目启动,直接用了Spring Boot 2.0,代码提交上去,同事在Windows 7的机器检出下来,运行时抛了一堆错误:
2018-03-01 20:34:45.025 ERROR 9632 --- [nio-8080-exec-1] o.a.catalina.core.AprLifecycleListener : An incompatible version [1.1.33] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14] 2018-03-01 20:34:45.025 ERROR 9632 --- [nio-8080-exec-1] o.a.catalina.core.AprLifecycleListener : An incompatible version [1.1.33] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
由于一直在macOS、Linux环境下进行开发,一直用Undertow也没用Tomcat,没遇到这种问题,也只知道Spring Boot 2.0把Tomcat升级到了8.5.28,不太懂APR based Apache Tomcat Native library是什么东西,跑去官网查了一下,有个专门的APR页面,APR全称为Apache Portable Runtime(Apache可移植运行时),封装了一层,抹平不同操作系统平台的差异,对外提供稳定的接口,Tomcat Native用APR来调用各类系统级文件、网络接口提供更高的性能和更佳的稳定性,针对Windows里面说:
Windows binaries are provided for tcnative-1, which is a statically compiled .dll which includes OpenSSL and APR. It can be downloaded from here as 32bit or AMD x86-64 binaries. In security conscious production environments, it is recommended to use separate shared dlls for OpenSSL, APR, and libtcnative-1, and update them as needed according to security bulletins. Windows OpenSSL binaries are linked from the Official OpenSSL website (see related/binaries).
要到下载页面,找到适用于Windows的dll(Binaries for Microsoft Windows)下载回来扔到Windows/System 和 Windows/SysWOW64,就好了
=============================
我使用的是win8.1企业版64位,所以只在system32下放置了x64版本的dll就成功解决了,下载地址:http://tomcat.apache.org/download-native.cgi
war包部署方面: 可以在项目根目录下直接 mvn package 打包即可,要先在idea里build一下,不然会提示缺失文件,打包后默认不是项目名,需要手动修改,项目运行后功能正常,然后通过 tomcat 配置好的 /manager/html 手动上传war包即可,然后启动或重启tomcat服务器,即可正常运行项目。
idea提交码云方面:
需要提供码云的用户名和密码,最好不要建立readme,就能在commit后直接push成功,否则的话,需要把readme文件下载到本地项目根目录下(与码云上的项目目录相同),然后再pull,再push。
idea下的配置文件都要放在资源目录下,否则无法使用,比如c3p0