2011-03-31 16 views
65

¿Cómo puedo hacer una transición de un proyecto generado por Netbeans para aceptar una configuración de Maven? Hay opciones para crear proyectos basados ​​en Maven, pero no hay nada (que haya encontrado hasta ahora) para agregar dependencias Maven a proyectos existentes.Conversión de un proyecto de Netbeans en un proyecto habilitado para Maven

+0

¿Has abierto el proyecto como proyecto de Maven? – khmarbaise

+0

Netbeans no permite que lo abra como un proyecto "escrito a máquina". [Bueno, no te da la opción de "abrir como"] – monksy

Respuesta

55

Necesita crear un Proyecto Maven por separado. Luego, puede copiar el código de su otro proyecto en el proyecto Maven. Esto se puede hacer desde la ventana Proyectos en NetBeans.

Simplemente seleccione los archivos/paquetes de código en el árbol, haga clic con el botón derecho para copiar y luego péguelos en los Paquetes de origen de su nuevo proyecto Maven.

A continuación, abra los archivos que Maven no compilará porque pierden dependencias. La bombilla amarilla a la izquierda de la línea problemática le dará opciones para buscar las dependencias faltantes y agregarlas a su proyecto. Debes estar en línea para realizar búsquedas.

También puede agregar dependencias maven manualmente en su nuevo proyecto Maven haciendo clic derecho en la carpeta de dependencias en la ventana Proyectos.

+1

Eso es lo que hice. No fue tan malo como pensaba. Me gusta la nueva construcción basada en Maven. – monksy

+3

Solo una nota: si has hibernado, deberás copiar hibernate.cfg.xml y persistencia.Archivos xml a la nueva carpeta: src/main/resources/META-INF – ACV

+1

¿Qué sucede si está conectado a git? ¿Cuál es la recomendación para ramificar y hacer un seguimiento de los archivos fusionados, en lugar de crear un nuevo maestro para manejarlo? – shareef

15

Si eres familiar con maven, entonces siempre puedes configurar maven incluso más tarde, sin embargo no es recomendable.

la única razón detrás de las personas (incluyéndome a mí;)) se recomienda crear un nuevo proyecto de maven, si Maven tiene su propia estructura de directorios. Y eso es estándar. ahora si desea habilitar maven para su proyecto en una etapa posterior, entonces puede configurar las cosas en pom.xml, es decir, su directorio de origen, directorio de destino y directorio de la aplicación web (si corresponde)

Tuve un gran proyecto en SVN y no se permitió crear un nuevo proyecto. No quería apoyar la administración de lib y configuré maven según mi estructura de directorios.

aquí es la parte de mi pom.xml

<build> 
    <sourceDirectory>src</sourceDirectory> 
    <testSourceDirectory>testpackages</testSourceDirectory> 
    <testOutputDirectory>target/test-classes</testOutputDirectory> 
    <plugins> 
     <plugin> 
      <version>2.3.2</version> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.1.1</version> 
      <configuration> 
       <failOnMissingWebXml>false</failOnMissingWebXml> 
       <webResources> 
        <resource> 
         <!-- this is relative to the pom.xml directory --> 
         <directory>web-root</directory> 
        </resource> 
       </webResources> 
      </configuration> 
     </plugin> 
+0

¿Podría explicar más? ¿Por favor? –

+1

si la estructura de su directorio es diferente al proyecto maven estándar, entonces debe configurarlo. Maven usa implícitamente varios complementos que esperarán la estructura de directorio estándar. Entonces, cuando tienes una estructura diferente, debes configurar esos complementos y tomar el control del proceso de compilación. Por ejemplo, mis fuentes web están directamente dentro de la carpeta web-root, luego tuve que configurar el plugin maven war en consecuencia. – Tejas

+0

Informa 'sourceDirectory' como no válido :( –

6

sigo este paso para el escritorio de aplicaciones Java

1) abrir su proyecto en Eclipse (yendo al nuevo proyecto y navegar a su proyecto) Importación de proyecto no funcionará

2) Habilitar experto para este proyecto

3) añadir la biblioteca dependencia

4) cierre el proyecto

5) eliminar la carpeta nbproject y build.xml de la ubicación del proyecto (de lo contrario no lo hará netbeans capaz de reconocerlo como proyecto Maven)

6) abrir este proyecto de NetBeans

haga una copia de seguridad de su proyecto antes de hacer esto

+2

El OP era específico que quería información con respecto a netbeans IDE no eclipes – Narrim

+11

Acaba de usar temporalmente eclispe para habilitar maven en el proyecto. – Tejas

+0

Funciona bien incluso si proyecta rastrea un repositorio remoto usando Git, una vez que terminaste solo necesitas comprometer y empujar. Muy útil, gracias. – Shondeslitch

0

Mejorando @JVerstry Respuesta .. Agrego Otra solución inexplicada aquí en los pasos.

Cree un nuevo proyecto de Maven en Netbeans. Luego copie y pegue su código fuente en su carpeta de maven, se puede hacer en Netbeans IDE Projects View Itself. Después de esto, siga estos pasos.

  1. Agregar SPRING MVC Dependencies.
  2. Añadir Spring MVC versión a su sección propiedades (dependiendo del punto 1)
  3. Configurar despachador-servlet.xml y web.xml en tu carpeta de primavera.
  4. Descanso es hacer algunas coincidencias y configurar su controlador principal & JSP/HTML-Page.,
  5. revise su página de inicio ejecutando.

Punto 1:

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>${spring.version}</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>${spring.version}</version> 
</dependency> 

<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>${spring.version}</version> 
</dependency> 

Punto 2: spring.version y añadir a su sección de propiedades

<properties> 
    <spring.version>4.0.2.RELEASE</spring.version> 
</properties> 

Punto 3: Bajo carpeta WEB-INF, cree un archivo llamado dis patcher-servlet.xml. Abra el archivo y copie el siguiente código.

<?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> 

<mvc:annotation-driven /> 
<context:component-scan base-package="com.youbequityweb.controllers" /> 
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 
</beans> 

El declara el apoyo de anotación impulsada MVC usando tales @Controller, @Service, @Component.

El significa analizar las clases de este paquete base para determinar todas las clases de bean.

view resolver especifica la ubicación de nuestras vistas (jsp) y la extensión. En su web.xml, agregue las configuraciones de muelles dentro de la sección de la aplicación web.

<!--Spring Config--> 
<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value> 
</context-param> 
<listener> <listenerclass>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<servlet> 
    <servlet-name>dispatcher</servlet-name> 
    <servlet- class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

Punto 4: Esto es complicado, ahora ligan su controlador principal existente para el paquete de base definida en despachador-servlet.xml. por ejemplo: HomeController.java que se muestra a continuación.

package com.youbequityweb.controllers; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 

@Controller 
public class HomeController { 

@RequestMapping(value="/home", method = RequestMethod.GET) 
    public String viewHome(){ 
    return "home"; 
    } 
} 

Punto 5: En NetBeans, Ahora haga clic derecho, seleccione limpieza y construcción, obtener de inmediato si las advertencias y los conflictos y de ejecutar su aplicación MVC primavera por los resultados.

Cuestiones relacionadas