2013-11-26 52 views
18

intellij düşüncesinde spring + maven projesi oluşturmaya çalışıyorum. these official wiki okudum, ancak adımları tamamladığımda, projemde maven yok. Ellerimle eklemeyi denedim, ama öyle görünüyor ki ellerim yeterince iyi değil :(, çünkü maven bağımlılıkları, lib klasörü ve sınıfları, kullanmak istediğim kendi hayatlarını yaşayacağım (bağımlılıklar değil Ben bağımlılıkları gelen sınıfları yazmaya denemek ve lib klasöründe, otomatik tamamlama yok). kimse adım-adım kılavuz veya bağlantı. Ben çok minnettar olacağım etti mu var.intellij'de bahar maven projesi nasıl oluşturulur IDEA

cevap

3

bu ne olduğunu düşünüyorum Eğer?

yeni proje dosyası oluşturma arayan> yeni> Proje

  • arketip
  • Oluştur iletişim yeni bir proje
  • Kontrol sol taraftaki Maven'i Click-mvc bahara
  • Seti Yapay Kimliği pl.codeleak için Ekle Arketipi düğmesine
  • Set Grubu Tıklama ID gelecek 1.0.0
  • Set Depo
  • http://kolorobot.github.io/spring-mvc-quickstart-archetype için tıklayın için
  • Seti Sürüm -quickstart ve proje oluşturun

Daha fazla bilgi için aşağıdaki bağlantıya bakın.

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

Ama Ben klasik bir şekilde ifade ediyorum. Maven projesini kemer tipi kullanarak üretin ve maven projesini Intellij'a aktarın. Sonra yay maven bağımlılıklarını pom.xml'ye ekleyin.

3

Net - İlk önce Dosya-> Yeni-> Projeye gidip yayı seçerek bir yay projesi oluşturun. Bir bahar projesi yaratacak. Daha sonra maven desteği eklemek için, projeye sağ tıklayıp "Çerçeve Desteği Ekle" yi seçebilirsiniz. Size bir açılır pencere verecek ve bundan "maven" i seçecek.

11

https://start.spring.io'a gidin ve Initializr'ın istediğiniz bağımlılıklar ile sizin için bir Maven projesi oluşturmasına izin verin.

Dev klasörünüzden sonra açabileceğiniz bir zip dosyası alırsınız.

Intellij'ı açın ve Dosya | Yeni | Mevcut Kaynaklardan Proje. (Veya karşılama ekranından İthalat Projesi).

Sıkıştırılmamış klasörünüzü seçin ve sizden istendiğinde Maven'i seçerek sihirbazı izleyin.

Buraya bakın: https://www.jetbrains.com/help/idea/2016.2/importing-project-from-maven-model.html

+1

Bu https://start.spring.io, yalnızca önyükleme tabanlı uygulamalar için doğru mu? –

+0

@MenukaIshan evet haklısınız. – jhyot

-1

şeyler sonrası yazılmıştır beri değişti, ama daha fazla seçenek vermeye karar verdik.

  1. Eğer Maven ile İlkbahar-çizme oluşturmak istiyorsanız: Çoğu Bahar Initilzr kullanın.

    • Kullanım web sitesi ya: https://start.spring.io/ - Eğer paketlenmiş alacak şeyler - en iyi yolu Alternatif
    • intellij: Dosya> Yeni> Projesi ...> Bahar Initilzr
    • Son olarak üzerinde Maven oluşturabilir senin + kendi yay önyükleme bağımlılığı ile pom.xml eklemek
  2. sıfırdan Maven ile Bahar olmayan çizme oluşturmak istiyorsanız

  3. :

      o içinde SPring bağımlılıkları vardır böylece
    • Sadece basit > Yeni > Projesi ... > Maven'in ... [herhangi arketip]
    • Düzenleme pom.xml dosyası: Bu ise

durumda (daha sert yol) - İlkbahar Testi için POM.xml'den başlat:
[kodun tamamı + tüm intelliJ dökümü buradan: https://github.com/wkaczurba/stackoverflow/tree/springmaveninintellij]

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()); 
    } 
} 

Ve yapılandırma + arayüz + fasulye:

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. 
} 

Arayüz:

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

` Ardından, ilk örneğin testi oluşturabilir

package com.stackoverflow; 

import org.springframework.stereotype.Component; 

@Component 
public interface YourInterface { 
    public boolean func(); 
} 

Ve Uygulama:

  • Ya JUnit test ve çalıştırmak çalıştırmak için IntelliJ yapılandırmasında oluşturun:

    1. Çalıştır:
      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; 
          } 
      } 
      
      çalıştırın.
  • +0

    @Configuration (classes = {whatever.class}) Bu hatta derleme yapmıyor –

    +0

    @Kuldeep Yadav - config sınıfınızı orada belirtmeniz gerekiyordu. Kodu güncelledim böylece Configuration sınıfını içerdi ve GITHUB'a link verdim, böylece nereye bakacağımı biliyorsun. –

    İlgili konular