En primer lugar, Eclipse necesita instalar el complemento de Maven, dirección: http://m2eclipse.sonatype.org/sites/m2e.
Usando MyEClipse para instalar el complemento Maven, hay algunos problemas con el proyecto Maven que creó. Primero, los recursos nunca se publicarán bajo Tomcat al publicar Tomcat; En segundo lugar, cambie las clases en Web-INF a clases bajo Target, pero no sé por qué MyEClipse todavía genera clases en Web-INF. O realmente no genero clases en Web-INF, pero cuando publico Tomcat, no le publicaré ningún archivo de clase, lo cual es muy deprimente. Pero después de usar Eclipse para construir un proyecto Maven, estará bien abrirlo con MyEClipse.
Los beneficios de usar Maven: creo que lo más importante es descargar automáticamente el paquete JAR y el paquete en el que depende, lo que puede garantizar el problema de las diferentes versiones JAR cuando se desarrollan varias personas. Además, la estructura del archivo es clara, y los archivos Java, los archivos de recursos y los archivos de prueba están claramente divididos.
Se introducirán dos métodos: uno, establezca directamente el método del proyecto Maven; Dos, establezca el método de proyecto web dinámico para convertirlo en el método del proyecto Maven.
1. Establecer directamente el método del proyecto Maven
1. Establecer un proyecto maven
A continuación, use el Maven de Eclipse para crear un proyecto web, tomando el proyecto SpringMVC como ejemplo:
1.1 Seleccione el proyecto Crear maven
Seleccione Archivo -> Nuevo -> Otro y seleccione Maven -> Proyecto Maven en la nueva ventana. Haga clic en Siguiente.
1.2 Seleccione la ruta del proyecto
Use el espacio de trabajo predeterminado del espacio de trabajo predeterminado espacio de trabajo predeterminado.
1.3 Seleccione el tipo de proyecto
Seleccione Maven-Archetype-WebApp en ID de artefactos
1.4 Ingrese ID de grupo e ID de artefacto, así como paquete
La identificación del grupo generalmente se escribe con el nombre del gran proyecto. El ID de artefacto es el nombre del subproyecto.
Por ejemplo, el paquete web de Spring, ID de grupo: org.springframework, ArtifactId: Spring-Web.
El paquete es el paquete predeterminado para usted, y está bien no escribirlo.
1.5 La estructura de archivos recién establecida es la siguiente
Si se muestra mucho contenido aquí, generalmente es un problema con la configuración de filtros. O la perspectiva es el modo Javaee, solo cámbielo al modo Java.
2. Configurar el proyecto Maven
A continuación, se deben cambiar muchas configuraciones.
2.1 Agregar carpeta fuente
A continuación, debe agregar tres carpetas: src/main/java, src/test/java y src/test/recursos. Haga clic con el botón derecho en el Directorio Root del Proyecto y haga clic en Nueva carpeta de origen.
Crea estas tres carpetas. Tenga en cuenta que no es una carpeta normal, sino una carpeta de origen.
2.2 Cambiar la ruta de clase
Haga clic con el botón derecho en el proyecto, Java Build Rath -> Fuente
Debe haber 4 carpetas a continuación. SRC/Main/Java, SRC/Main/Resources, SRC/Test/Java, SRC/Test/Resources.
Haga doble clic en la carpeta de salida para cada carpeta y seleccione la ruta.
src/main/java, src/main/recursos, seleccionar objetivo/clases;
src/test/java, src/test/recursos, seleccione Target/Test-Classes;
Seleccione Permitir carpetas de salida para las carpetas de origen.
También cambie aquí:
Cambie el orden en el que se muestran las carpetas: haga clic en Order y Exportar.
Cambie la versión JDK: haga doble clic en la biblioteca del sistema JRE en las bibliotecas a la versión 1.6.
2.3 Convierta un proyecto en un proyecto web dinámico
2.3.1 Haga clic con el botón derecho en el proyecto, seleccione Facetas del Proyecto y haga clic en Convertir a Faceted desde
2.3.2 Configuración de facetas del proyecto
Cambie la versión del módulo web dinámico a 2.5. (3.0 es Java7).
Si se solicita un error, es posible que deba establecer el nivel de cumplimiento del compilador en 1.6 en el compilador Java. O necesita cambiar la versión Java de esta ventana a 1.6.
2.3.3 Configuración del proyecto facetado modificar
Haga clic en la configuración adicional disponible ... para aparecer en la ventana Modify Faceted Project
Aquí está la ruta para establecer el archivo web.xml, e ingresamos SRC/Main/WebApp.
Generar el descriptor de implementación web.xml genera automáticamente el archivo web.xml, opcional o no.
2.4 Configuración del ensamblaje de implementación (ensamblaje de implementación web)
Después de configurar los pasos anteriores, haga clic en Aceptar y se cerrará la ventana Propiedades. Haga clic derecho en el proyecto para abrir esta ventana. Aparecerá un ensamblaje de implementación en la lista de la izquierda. Después de hacer clic, como se muestra a continuación:
Aquí la lista es la ruta a la versión del archivo cuando se implementa el proyecto.
1. Eliminamos los dos elementos de prueba porque la prueba se usa para la prueba y no requiere implementación.
2. Configure el paquete Maven Jar en Lib.
Agregar -> Entradas de ruta de construcción de Java -> dependencias de maven -> terminar
Establezca el renderizado terminado
3. Agregue el paquete jar al proyecto Maven
Maven puede administrar paquetes JAR en los que depende el proyecto y puede determinar de manera única un paquete JAR a través de GroupId, ArtifactId y el número de versión. Esto puede evitar el problema de los paquetes JAR inconsistentes en Web-INF/LIB en proyectos web antiguos. Además, Maven descargará automáticamente los paquetes JAR que se basan en el paquete JAR agregado.
3.1 Agregue el paquete jar requerido en pom.xml
Use el editor Maven POM para abrir el archivo pom.xml en el proyecto, seleccione dependencias, haga clic en Agregar en la columna de dependencias y primero aparece un botón de búsqueda, por ejemplo, ingrese Spring-Web, y buscará automáticamente el paquete JAR relacionado con Spring-Web. Seleccionamos la versión 3.0.5 de Spring. Agregue todos los paquetes de primavera. Otros paquetes JAR que deben agregarse incluyen: Junit, JSTL. O haga clic en Pom.xml para editar el archivo pom.xml directamente. De esta manera, puede copiar el contenido de dependencias directamente.
3.2 Establezca el alcance del paquete jar
Al agregar a un paquete JAR, hay algunas propiedades que deben establecerse. Lo más importante es el alcance, que tiene los siguientes valores:
1.Compile, valor predeterminado, se aplica a todas las etapas y se lanzará junto con el proyecto.
2.Proved, similar a la compilación, espera que JDK, contenedor o usuario proporcionen esta dependencia. Como servlet.jar.
3. Runtime, solo usado en tiempo de ejecución, como el controlador JDBC, adecuado para las etapas de ejecución y prueba.
4. La prueba, utilizada solo cuando las pruebas, se usan para compilar y ejecutar el código de prueba. No se lanzará con el proyecto.
5. El sistema, similar al proporcionado, requiere explícitamente proporcionar un frasco que contenga dependencias, y Maven no lo buscará en el repositorio.
Por lo general, el paquete de alcance requerido para los proyectos SpringMVC es el siguiente:
A veces encuentro que el servlet-API todavía está empaquetado bajo la lib, y definitivamente se informará un error en este momento. También debe instalar WTP en el complemento Maven.
Ruta de instalación en línea de Eclipse: http://m2eclipse.sonatype.org/sites/m2e-extras. Seleccione para Eclipse WTP.
4. Build SpringMVC Framework
4.1 Editar el archivo web.xml
Debe agregar log4j, filtrado de caracteres, despachador de resorte, etc.
El código webx.xml es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> <web-app xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" "" "" "" "" "" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" Versión = "2.5" Nombres de duplicado predeterminado-> <context-param> <amamname> WebApprootkey </param-name> <amam-value> maven.example.root </amam-value> </context-param> <!-Spring Log4j oyeer-> <OyeHer> <Listener-Class> org.springframework.web.util.log4jconfiglister </oyeyer-Class> org.springframework.web.util.log4jconfiglister </oyeveChass> ear </oyente> <!-Filtro de set de caracteres-> <filter> <filter-name> caracteresCodingFilter </filter-name> <filter-class> org.springframework.web.filter.characterEncodingfilter </filter-class> <it-param> <amamname-name> encoding </param-name> <amam-value> </param-value> </param-value> <Init-Param> <amamname> ForceEncoding </param-name> <amam-value> true </amam-value> </it-param> </sille> <filter-mapping> <filter-name> caracterescodingfilter </filter-name> <url-pattern>/*</url-pattern> </sille-mapping> <!-Spring View Distributor-> <Servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </init-param> <OAD-ONSTARTUP> 1 </load-on-startup> </servlet> <ervlet-mapping> <ervlet-name> despachador </servlet-name> <url-pattern>*. do </url-pattern> </servlet-mapping> </seb-app>
4.2 Escribir el envío de archivos de configuración de Spring-servlet.xml
Por ejemplo, desea agregar controlador MVC, detección de anotaciones, análisis de vista, etc. El código de servlet.xml de despachador es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: aop = "http://www.springframework.org/schema/aop" "" "" "" "" "" "" xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: tx = "http://wwww.springframe xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/Beans http://www.springframework.org/schema/Spring-Beans-3.0.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">" <mvc: annotation-riven/> <context: component-scan base-pankage = "liming.maven.example"/> <bean> <propiedad name = "prefix" valor = "/web-inf/vistas/"/> <propiedad name = "suffix" valor = ". Jsp"/> </ Beans> </0s>
4.3 Escriba una clase de prueba de capa de controlador
Escriba una clase de prueba de capa de controlador SpringMVC. Solo hay un método para la asignación de direcciones y pasa un datos a la página. El código es el siguiente:
paquete liming.maven.example.view; importar org.springframework.stereotype.controller; importar org.springframework.ui.model; importar org.springframework.web.bind.annotation.requestMapping; @Controller public class GeneralController {@RequestMapping (value = "index.do") public void index_jsp (modelo modelo) {model.addattribute ("liming", "hola amanecer"); System.out.println ("index.jsp"); }}4.4 Página de escritura index.jsp
Primero, cree vistas de carpetas en SRC/Main/WebApp/Web-Inf. Aquí está la ruta del atributo de prefijo en el archivo de configuración de despachador-servlet.xml.
Crear archivo index.jsp en vistas
Usamos JSTL para obtener los datos de ControllerAdd.
El código de página JSP es el siguiente:
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" PageEncoding = "utf-8"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> < 4.01 Transitional // en "" http://www.w3.org/tr/html4/loose.dtd "> <html> <fead> <meta http-equiv =" content-type "content =" text/html; valor = "$ {liming}"> </c: out> </body> </html>5. Publicar a Tomcat
No hay nada que decir sobre esto.
6. Prueba
Dirección de acceso: http: // localhost: 8080/liming.maven.example/index.do
Aquí hay una captura de pantalla del resultado de la visita:
2. Cree un proyecto web dinámico para convertirlo en un proyecto Maven
7. El segundo método es convertir el proyecto DynamicWeb en Mavan
7.1 Crear un nuevo proyecto web dinámico
Seleccione Archivo -> Nuevo -> Otro. En la nueva ventana, seleccione Proyecto web dinámico en la web. Haga clic en Siguiente.
7.2 Configurar información del proyecto
7.2.1 Ingrese la información del proyecto
Primero ingrese el nombre del proyecto.
El tiempo de ejecución de Target generalmente elige qué contenedor usar, Tomcat, etc. No puedes elegir primero.
Versión de módulo web dinámico. Ese es el número de versión. Elija 2.5 (3.0 es Java7).
La configuración es una configuración fácil para elegir. Si el tiempo de ejecución de Target selecciona Tomcat. Esto corresponde a la elección de Tomcat.
Próximo.
7.2.2 Configure la carpeta de fuente y salida
Esta ventana ingresa a las carpetas de origen que desea crear. y carpeta de salida predeterminada.
Agregamos esto después de construir el proyecto.
La carpeta de salida se puede cambiar a Target/Classes.
7.2.3 Configure la ruta al archivo web.xml
7.3 Convertir al proyecto Maven
Después de establecer el proyecto web dinámico, primero conviértalo en un proyecto Maven.
Haga clic derecho en este elemento y seleccione Maven -> Habilitar la gestión de dependencias. La ventana emergente recién está terminada.
7.4 Otras configuraciones
El siguiente trabajo de configuración es básicamente el mismo que antes.
Consulte lo anterior.
2.1 Agregar carpeta fuente
2.2 Cambiar la ruta de clase.
2.3.3 Configuración del proyecto facetado modificar
2.4 Configuración del ensamblaje de implementación (ensamblaje de implementación web)
Lo siguiente es construir el marco SpringMVC, publicarlo en Tomcat y probarlo.
Descarga del archivo adjunto:
liming.maven.example.zip
liming.dynamic.example.zip