陈建华的博客
专注web开发
老项目开启maven报错解决办法
2014-12-31 11:16:29   阅读1222次

今天,我之前的一个java web的项目,是TestProject ,我安装了maven,然后打开了maven管理。结果项目整个都报错了。经过一番折腾,终于搞定了。

  1. 首先你要安装好eclipse的maven插件和本地的maven软件。这个网上很多教程,在此不罗嗦。

  2. 老项目开启maven,右击项目>Maven>Enable Dependency Management,等他创建完成,你的老项目就是一个maven管理的项目了。

  3. 但是还有问题,maven默认开启的是j2se1.4的。你要修改你自己的。我这里是1.6,window>Preferences>Java>Compiler,将Compiler compliance level改成1.6,下面的User default compliance settings勾选。右击项目>Preference>Java Build Path>Source,将你的老项目src加进来。

  4. 经过以上努力。彻底解决了

    注意必须要按照下面的修改配置文件

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener在网上找了些资料,有的说是少jar包,把有关spring的jar包复制到/WEB-INF/lib下面就行了,但这是maven项目,不需要这样做...

还有一个原因是,项目不是maven项目,我这个之前是普通的web项目,只是加上了一个pom.xml而已
需要修改的有两个地方
1.项目根目录下的.project文件,用记事本打开,加入以下代码(把原来的<buildSpec>节点和<natures>替换了):
  <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.common.project.facet.core.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.maven.ide.eclipse.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.maven.ide.eclipse.maven2Nature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
        <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
        <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    </natures>

2.项目根目录下的.classpath,找到
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
替换为:
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>新增加一个classpathentry节点:
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>OK,到这一步已经完成了,到eclipse中刷新项目,然后重新启动tomcat,错误已经解决!



在.classpath文件中:
<classpathentry kind="output" path="target/classes"/>
改为:
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
习惯,^_^,把编译后的文件放到WEB-INF/classes下面



-----------------------------------------------------
转载请注明来源此处
原地址:#

-----网友评论----
1楼:威客 发表于 2015-01-22 16:13:26
[此评论已被删除]
-----发表评论----
微网聚博客乐园 ©2014 blog.mn886.net 鲁ICP备14012923号   网站导航