Maven更新项目后项目结构发生了变化,源文件夹的包含和排除模式也发生了变化

时间:2016-04-27 09:25:45

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

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

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 Build Path”中找到的配置 - > “源” - >的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'显示在项目文件夹中)

2 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分:1)

按照步骤项目 - &gt;右键单击 - &gt;属性 - &gt;:

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类源文件的基本源文件夹,这样就恢复了初始项目结构。