• eclipse中使用Maven新建Servlet2.5的Web项目


    前言

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5

    开始

    1. 在eclipse中新建Maven项目
    2. 输入相应的坐标。然后点击Finish,完成创建项目
    3. 修改/testMaven/src/main/webapp/WEB-INF/web.xml文件
      原内容为:
    1. <!DOCTYPE web-app PUBLIC
    2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
    4. <web-app>
    5. <display-name>Archetype Created Web Application</display-name>
    6. </web-app>

    修改为:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    5. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    6. <display-name>Archetype Created Web Application</display-name>
    7. </web-app>
    1. 修改/testMaven/.settings/org.eclipse.jdt.core.prefs文件。
      将所有1.5替换成1.7
      原内容为:
    1. eclipse.preferences.version=1
    2. org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
    3. org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
    4. org.eclipse.jdt.core.compiler.compliance=1.5
    5. org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
    6. org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
    7. org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
    8. org.eclipse.jdt.core.compiler.source=1.5

    修改为:

    1. eclipse.preferences.version=1
    2. org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
    3. org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
    4. org.eclipse.jdt.core.compiler.compliance=1.7
    5. org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
    6. org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
    7. org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
    8. org.eclipse.jdt.core.compiler.source=1.7
    1. 修改/testMaven/.settings/org.eclipse.wst.common.component文件。
      将project-version=”1.5.0”修改为1.7.0
      原内容为:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project-modules id="moduleCoreId" project-version="1.5.0">
    3. <wb-module deploy-name="testMaven">
    4. <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    5. <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
    6. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    7. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    8. <property name="context-root" value="testMaven"/>
    9. <property name="java-output-path" value="/testMaven/target/classes"/>
    10. </wb-module>
    11. </project-modules>

    修改为:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <project-modules id="moduleCoreId" project-version="1.7.0">
    3. <wb-module deploy-name="testMaven">
    4. <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
    5. <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
    6. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
    7. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
    8. <property name="context-root" value="testMaven"/>
    9. <property name="java-output-path" value="/testMaven/target/classes"/>
    10. </wb-module>
    11. </project-modules>
    1. 修改/testMaven/.settings/org.eclipse.wst.common.project.facet.core.xml文件。
      将1.5修改成1.7,将2.3修改成2.5
      原内容为:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <faceted-project>
    3. <fixed facet="wst.jsdt.web"/>
    4. <installed facet="java" version="1.5"/>
    5. <installed facet="jst.web" version="2.3"/>
    6. <installed facet="wst.jsdt.web" version="1.0"/>
    7. </faceted-project>

    修改为:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <faceted-project>
    3. <fixed facet="wst.jsdt.web"/>
    4. <installed facet="java" version="1.7"/>
    5. <installed facet="jst.web" version="2.5"/>
    6. <installed facet="wst.jsdt.web" version="1.0"/>
    7. </faceted-project>
    1. 修改JRE libary为1.7
    2. 完善Maven目录。
      右键Java Resouces–New–Source Folder,然后添加
      src/test/resources
    3. 完成后的目录结构

    注意

    这里不用再次update Project了

    如果再次update的话,会将jdk1.7又改为1.5了。。。

  • 相关阅读:
    MyBatis 延迟加载
    超经典的 25 道 MyBatis 面试题
    公钥与私钥,HTTPS详解
    分布式,集群,微服务的理解
    单例模式的饿汉式和懒汉式的实现以及比较它们的区别比较(Java实现)
    Mybatis的一级缓存和二级缓存详解
    Maven install没有将jar包加载到本地仓库
    Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
    数据结构_C语言_单链表
    Java实现一个简单的LRUCache
  • 原文地址:https://www.cnblogs.com/meet/p/6413050.html
Copyright © 2020-2023  润新知