将Netbeans项目转换为启用Maven的项目

时间:2011-03-31 04:03:00

标签: netbeans maven

如何将Netbeans生成的项目转换为接受Maven配置?有一些选项可以创建基于Maven的项目,但是到目前为止我没有发现将Maven依赖项添加到现有项目中。

5 个答案:

答案 0 :(得分:61)

您需要创建一个单独的Maven项目。然后,您可以将代码从其他项目复制到Maven项目。这可以从NetBeans中的“项目”窗口完成。

只需在树中选择代码文件/包,右键单击进行复制,然后将其粘贴到新Maven项目的源包中。

接下来,打开Maven无法编译的文件,因为它们错过了依赖项。有问题的行左侧的黄色灯泡将为您提供搜索缺少的依赖项的选项,并将它们添加到您的项目中。您需要联机才能执行搜索。

您还可以通过右键单击“项目”窗口中的“依赖项”文件夹,在新的Maven项目中手动添加maven依赖项。

答案 1 :(得分:15)

如果你是maven的家人,那么你甚至可以在以后配置maven,但是不建议这样做。

人们(包括我;)推荐创建一个新的maven项目背后的唯一原因是,Maven拥有自己的目录结构。这是标准的。现在,如果你想在以后阶段为你的项目启用maven,那么你可以在pom.xml中配置东西,即你的源目录,目标目录和web app目录(如果适用)

我在SVN有一个大项目,不允许创建一个新项目。我不想支持lib管理,因此我根据目录结构配置了maven。

这是我的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>

答案 2 :(得分:8)

我按照桌面Java应用程序执行这些步骤(在执行此操作之前备份项目):

  1. 在Eclipse中打开您的项目(转到新项目并浏览到您的项目)。导入项目将不起作用。

  2. 为此项目启用maven

  3. 添加依赖库

  4. 关闭您的项目

  5. 从项目位置删除NBProject文件夹和Build.xml(否则NetBeans将无法将其识别为maven项目)。

  6. 在NetBeans中打开此项目

答案 3 :(得分:0)

改善@JVerstry答案..我在步骤中添加了此处无法解释的另一种解决方案。

在Netbeans中创建一个新的Maven项目。然后将源代码复制粘贴到maven文件夹中,可以在Netbeans IDE Projects View Selfself中完成。 在此之后按照以下步骤操作。

  1. 添加SPRING MVC依赖项。
  2. 将Spring MVC版本添加到您的 属性部分(取决于第1点)
  3. 在Spring文件夹中配置dispatcher-servlet.xml和web.xml。
  4. 休息是做一些匹配和配置你的主控制器&amp; JSP / HTML-Page。,
  5. 通过运行检查您的主页。
  6. 第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>
    

    第2点:并将spring.version添加到您的属性部分

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

    第3点:在 WEB-INF文件夹下,创建名为 dispatcher-servlet.xml 的文件。 打开文件并复制以下代码。

    <?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>
    

    声明支持注释驱动的mvc,例如使用 @Controller,@ Service,@ Component。

    表示从此基础包中扫描类以确定所有bean类。

    视图解析器指定视图(jsp)和扩展名的位置。 在 web.xml 中,在 web-app 部分中添加弹簧配置。

    <!--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>
    

    第4点:这很棘手,现在将您现有的主控制器链接到 dispatcher-servlet.xml 中定义的基础包。例如: HomeController.java 如下所示。

    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";
        }
    }
    

    第5点:在 NetBeans 中,现在右键单击,选择clean and build,如果有任何警告和冲突,请离开,然后运行spring mvc应用程序获取结果。< / p>

答案 4 :(得分:0)

我偶然发现了Netbeans 8.2的原因。以Netbeans项目而不是Maven项目的形式打开项目;删除netbeans和ant特定文件后,然后将它们替换为正确格式的pom。

Netbeans似乎为已经打开的项目缓存了项目类型,可以通过删除该缓存来解决。

Windows其位于此处:

C:\Users\${username}\AppData\Local\NetBeans\Cache

此处的Linux:

~/.cache/netbeans/${netbeans_version}/index/

Mac在这里:

~/Library/Caches/NetBeans/${netbeans_version}/