如何在Idea中編譯構建Spring Framework 5.x


如何在Idea中編譯構建Spring Framework 5.x

  1. 安裝配置Gradle(略)

  2. 下載源碼:git clone https://github.com/spring-projects/spring-framework.git

  3. 按照工程下import-into-idea.md文件的提示進行操作

    The following has been tested against IntelliJ IDEA 2016.2.2
    
    ## Steps
    
    _Within your locally cloned spring-framework working directory:_
    
    1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
    2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
    3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
    4. Code away
    
    ## Known issues
    
    1. `spring-core` and `spring-oxm` should be pre-compiled due to repackaged dependencies.
    See `*RepackJar` tasks in the build and https://youtrack.jetbrains.com/issue/IDEA-160605).
    2. `spring-aspects` does not compile due to references to aspect types unknown to
    IntelliJ IDEA. See https://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the
    'spring-aspects' can be excluded from the project to avoid compilation errors.
    3. While JUnit tests pass from the command line with Gradle, some may fail when run from
    IntelliJ IDEA. Resolving this is a work in progress. If attempting to run all JUnit tests from within
    IntelliJ IDEA, you will likely need to set the following VM options to avoid out of memory errors:
        -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m
    4. If you invoke "Rebuild Project" in the IDE, you'll have to generate some test
    resources of the `spring-oxm` module again (`./gradlew :spring-oxm:compileTestJava`)    
    
    
    ## Tips
    
    In any case, please do not check in your own generated .iml, .ipr, or .iws files.
    You'll notice these files are already intentionally in .gitignore. The same policy goes for eclipse metadata.
    
    ## FAQ
    
    Q. What about IntelliJ IDEA's own [Gradle support](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)?
    
    A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476
    
    • 按照stepsKnown issues指示進行操作即可,第一次構建可能要下載大量依賴,可能需要花費一些時間,慢的可能需要一到倆小時,需要耐心等待。

    • 編譯完spring-corespring-oxm之后,再去編譯spring-context時候,你會發現報錯了,有來自.gradle文件的報錯,有因為xxx類找不到的報錯,這里報出的任何錯誤,一律通過注釋對應的代碼進行解決。

      .gradle文件報錯,將對應報錯行的構建代碼注釋掉,xxx類找不到,將對xxx類的引用注釋掉

    • 新增module進行測試

    Note: 由於spring-aspects的實現依賴了aspectj,需要另外引入,所以不調試spring-aspects模塊內容的同學,可以直接把這個模塊給移除掉。

我這邊構建一份最新的工程(2019-11-2 2:26)放在Github上供大家參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM