发表于: 2017-02-07 23:49:47

3 1959


今天完成的事情:

1、学习使用IDEA

2、把CSS任务中的Task10的静态页面变成动态内容

明天计划的事情:

CSS任务中的Task10的静态页面变成动态内容

遇到的问题:

1IDEA创建maven web项目卡在:

                                             

原因:IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件。

该命令的参数-DarchetypeCatalog,可选值为:remoteinternal  local等,用来指定archetype-catalog.xml文件从哪里获取。

默认为remote,即从

http://repo1.maven.org/maven2/archetype-catalog.xml路径下载archetype-catalog.xml文件。

http://repo1.maven.org/maven2/archetype-catalog.xml 文件约为3-4M,下载速度很慢,导致创建过程卡住

解决方法:

第一种:在下面界面添加一个属性,archetypeCatalog = internal

第二种:指定-DarchetypeCataloginternal,即可使用maven默认的archetype-catalog.xml,而不用再remote下载。

具体步骤:点击file -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Runner, VM Options 配置 -DarchetypeCatalog=internal:

PS:注意右上角的灰字:for default project,而不是for current project

第三种:mvn命令创建项目时

mvn archetype:generate -DarchetypeCatalog=internal

2Tomcat启动时报错:

造成这种情况的原因很可能是以下两种情况:

一、项目的WEB-INF/lib下有servlet-api.jar,与Tomcat自带的servlet-api.jar冲突了。

二、项目的WEB-INF/lib下有包含javax.servlet包的其他JAR包(如WebLogic 8.1weblogic.jar),造成与Tomcat自带的servlet-api.jar的冲突。

因为TomcatWebappClassLoader加载JAR包时会进行校验,一旦发现上述冲突就会报出上面的异常

解决方案:

pom.xml文件中把javax.servlet-api依赖注掉:

之后又报错:

tomcat被卡死,网上找了些说法,大多数讲没配置log4j,其实配置正确也会出现这个问题;

这个是在加载org.springframework.web.context.ContextLoader这个listener的时候没找到log4j的配置文件造成的。

仔细查看web.xml发现在加载org.springframework.web.context.ContextLoader这个listener之后才加载org.springframework.web.util.Log4jConfigListener,把log4j的配置放到org.springframework.web.context.ContextLoader之前,就可以解决这个问题了。

3、改成动态页面没有得到数据:

收获:

IDEA设置自动导包:Settings→Editor→General→Auto Import

选中Optimize imports on the flyAdd unambiguous imports on the fly

Optimize imports on the fly:自动去掉一些没有用到的包

Add unambiguous imports on the fly:自动帮我们优化导入的包

 



返回列表 返回列表
评论

    分享到