如何在intellij IDEA中创建spring maven项目

时间:2013-11-26 22:28:50

标签: java spring maven intellij-idea

我正在尝试在IntelliJ IDEA中创建spring + maven项目。 我读过these official wiki,但是当我完成步骤时,我的项目中没有maven。 我试图用我的手添加它,但似乎,我的手不够好:(因为maven依赖,lib文件夹和类,我想要使用他们自己的生活(依赖不在lib文件夹,我尝试从依赖项中键入类,没有自动完成)。 有没有人有分步指南或链接?

4 个答案:

答案 0 :(得分:18)

转到https://start.spring.io并让Initializr为您生成具有所需依赖关系的Maven项目。

您将获得一个zip文件,然后可以在您的开发文件夹中解压缩。

然后打开Intellij并选择File |新的|来自现有来源的项目。 (或从欢迎屏幕导入项目)。

选择解压缩的文件夹,然后按照向导,在系统提示时选择Maven。

见这里:https://www.jetbrains.com/help/idea/2016.2/importing-project-from-maven-model.html

答案 1 :(得分:9)

首先通过转到File-> New-> Project并选择spring来创建一个spring项目。它将创建一个春季项目。然后,要添加maven支持,您可以右键单击该项目并选择“添加框架支持”。它将为您提供一个弹出窗口,并从中选择“maven”。

答案 2 :(得分:4)

我认为这就是你要找的东西?

  

创建新项目文件>新>项目

     
      
  • 点击新项目对话框左侧的Maven
  •   
  • 检查从原型创建
  •   
  • 单击“添加原型”按钮
  •   
  • 将组ID设置为pl.codeleak
  •   
  • 将工件ID设置为spring-mvc-quickstart
  •   
  • 将版本设置为1.0.0
  •   
  • 将存储库设置为http://kolorobot.github.io/spring-mvc-quickstart-archetype
  •   
  • 点击下一步并创建项目
  •   

请参阅以下链接了解更多信息。

https://github.com/kolorobot/spring-mvc-quickstart-archetype

但是我会参考经典的方式。使用arch-type生成maven项目并将maven项目导入Intellij然后将spring maven依赖项添加到pom.xml。很清楚

答案 3 :(得分:-2)

  1. 如果你想用Maven创建 Spring-boot :大多数人都使用Spring Initilzr。

    • 使用任一网站:https://start.spring.io/ - 您将获得打包的内容 - 最佳方式
    • 或者在IntelliJ Ultimate Edition(个人最佳工具)中:文件>新>项目...> Spring Initilzr
    • 最后,您可以自己创建Maven +添加具有spring-boot依赖性的POM.xml
  2. 如果您想从头开始创建 Spring with-boot with Maven

    • 只需简单的文件>新>项目...> Maven ...... [任何原型]
    • 编辑pom.xml,使其中包含SPring依赖项:
  3. 在这种情况下(更难的方式) - 从POM.xml开始进行Spring Testing:
    [整个代码+整个intelliJ转储在这里:https://github.com/wkaczurba/stackoverflow/tree/springmaveninintellij]

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.stackoverflow</groupId>
      <artifactId>someartifact</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>someartifact</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>4.3.13.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>4.3.13.RELEASE</version>
        </dependency>
    
        <!-- Test-related stuff -->
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>
    

    ` 然后你可以创建你的第一个测试,例如:

    package com.stackoverflow;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import static org.junit.Assert.assertTrue;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = { AppConfig.class })
    public class WhateverTest {
    
        @Autowired
        YourInterface objectUnderTest;
    
        @Test
        public void test1() {
            assertTrue(objectUnderTest.func());
        }
    }
    

    你的config + interface + bean:

    package com.stackoverflow;
    
    import com.stackoverflow.YourInterface;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @ComponentScan(value="com.stackoverflow")
    public class AppConfig {
        // Add whatever is needed.
    }
    

    接口:

    package com.stackoverflow;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public interface YourInterface {
        public boolean func();
    }
    

    实施:

    package com.stackoverflow;
    
    import org.springframework.stereotype.Component;
    
    @Component
    class YourInterfaceImpl implements YourInterface {
    
        public boolean func() {
            System.out.println("func called..."); // Always use logger in real world...
            return true;
        }
    }
    

    运行:

    1. 运行:mvn clean test
    2. 或者在IntelliJ配置中创建以运行JUnit测试并运行。