美好的一天从错误开始
导入struts框架的时候发现一个奶瓶上有个小黑块找了一下
以为是commons-io2.2和commons-io2.5起了冲突影响的
然后我看去pom.xml的Dependency Graph看看commons-io的groupid 还有artifactId再去
pom.xml里面修改添加以下代码
<exclusions>
<exclusion>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
</exclusions>
不出所料两个commons-io都消失了,我再偷偷添加一个commons2.5进去,发现奶瓶旁边还是有个小黑块! 原来不是冲突(不知所措) 可能本来就是黑色的吧如果有什么大神知道为啥的可以和我说说
再然后运行tomcat的时候出现ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property ‘log4j2.debug’ to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
14:28:28.523 [localhost-startStop-4] ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read class [sy.action.UserAction]
java.lang.IllegalArgumentException: null
解决方法:创建一个log4j2.xml文件在src/main/resources下
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5p] %d %c - %m%n" />
</Console>
<File name="File" fileName="dist/my.log">
<PatternLayout pattern="%m%n" />
</File>
</Appenders>
<Loggers>
<Logger name="mh.sample2.Log4jTest2" level="INFO">
<AppenderRef ref="File" />
</Logger>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
哈哈哈太令人开心了以为万事大吉之后又出现了org.apache.struts2.convention.DefaultClassFinder - Unable to read class [sy.action.UserAction]
java.lang.IllegalArgumentException: null 错误日志还是没有
底下一长串反正看不懂(都是什么鬼东西)不过我大概也能知道是struts-convention-plugin这个有点问题 (试了一下删除所有jar包,再重新导入并没什么用)
再一顿研究之下发现了错误解决方法在struts2.xml的文件里面加入这句话就ok了
还有2.5.18的struts2会受到安全的限制不允许你访问 method
加上这句话就好了
regex:.*在struts.xml文件里
(第一天)