【问题标题】:Project structure changed after Maven update project, Inclusion and exclusion patterns to source folder changed tooMaven 更新项目后项目结构发生了变化,源文件夹的包含和排除模式也发生了变化
【发布时间】:2016-08-21 12:05:36
【问题描述】:

这是最初开发的项目结构:

src/
src/main/java
    com.company.project.module1.bean
    com.company.project.module1.controller
    com.company.project.module1.service
    com.company.project.module1.dao
src/main/resources
src/test/
src/test/resources

点击 Maven --> 项目的“更新项目”后,整个项目结构更改如下:

src/
    com.company.project.module1.bean
    com.company.project.module1.controller
    com.company.project.module1.service
    com.company.project.module1.dao
src/main/java
    com.company.project.module1.bean
    com.company.project.module1.controller
    com.company.project.module1.service
    com.company.project.module1.dao
src/main/resources
src/test/
src/test/resources

“复制”到 src/ 文件夹中的所有 java 类文件。

当我检查项目属性时,这些是在“Java 构建路径”-->“源”--> src/ 中找到的配置:

在通过 Maven 配置“更新项目”之前:

included:**/*.java
excluded:src/main/java, src/main/resources, src/main/test, src/test/resources

通过 Maven 配置“更新项目”后,这里是配置的更改:

included:**/*.java
excluded:(None)

哪个配置,Maven (pom.xml) 或 Spring 配置,负责项目结构的这种变化?哪些设置/配置将指导将其保留回其初始项目结构。

(简短说明:Maven 和 Spring Nature 在项目中“启用”。符号“S”和“M”显示在项目文件夹中)

【问题讨论】:

  • 在执行此步骤时,所有项目 java 类文件都已从项目 src/ 文件夹中删除:Java Build Path-->sources-->src/main/java-->remove。但在工作区内部保存完好。有一段时间,我看到我需要的项目 src/ 文件夹中没有看到 java 类文件,但按照以下步骤将它们保留回来:源->添加文件夹->选择源文件夹->通过选择在 src/main/java 的复选框中打勾。即使经过这次练习,通过 Maven 更新项目,也无法获得初始项目结构。

标签: java spring-mvc maven-3 spring-tool-suite


【解决方案1】:

pom.xml 文件配置与此问题相关。由于 pom.xml 中的以下代码,它将所有 java 源文件复制到 src/ 文件夹。通过更改此设置,它将使用源文件夹修复项目结构。

<build>
<sourceDirectory>src</sourceDirectory>
<resources>
   <resource>
       <directory>src</directory>
       <excludes>
           <exclude>**/*.java</exclude>
       </excludes>
   </resource>
</resources>
</build>

将此代码替换为以下代码:

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
   <resource>
       <directory>src/main/resources</directory>
       <excludes>
           <exclude>**/*.java</exclude>
       </excludes>
   </resource>
</resources>
</build>

【讨论】:

    【解决方案2】:

    按照步骤项目-->右键-->属性-->:

    Java Build Path --> sources --> src --> Delete
    src/main/java --> edit --> output folder: <project name>/target/classes
    src/main/java --> edit --> included: **/*.java
    src/main/java --> edit --> excluded: (None)
    

    这些步骤已删除 src/ 文件夹,并将 src/main/java 作为包含 java 类源文件的基本源文件夹,这样就恢复了初始项目结构。

    【讨论】:

    • 在STS的Project Explorer中查看项目结构时,仍然可以看到src/文件夹下有java类文件。文件夹 src/ 和 src/main/java 包含 java 源类文件会对项目的执行有任何影响,必须对此进行一些锻炼。
    猜你喜欢
    • 2014-10-19
    • 2022-10-20
    • 2014-10-07
    • 1970-01-01
    • 2022-11-08
    • 2013-03-11
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多