1

在我从使用 Maven 构建 Spring 项目迁移到使用 gradle 构建它之后,我遇到了奇怪的空验证错误。

我注意到路径src/main/webapp/WEB-INF/classesWeb App Libraries构建路径组下,尽管使用 Maven-import 配置它只是在 src 目录中。

使用gradle cleanEclipse、刷新和清除项目,也没有删除所有.metadata, .settings, bin, .classpath,.project目录没有帮助。

除了那个 WAR 文件构建得很好。

配置:

//----------------------------------------------------------------------------
//                        SERVER'S TASKS' CONFIGURATION
//----------------------------------------------------------------------------

configure(serverProjects) {
    apply plugin : 'war'
    apply plugin : 'eclipse-wtp'

    sourceCompatibility = 1.7
    targetCompatibility = 1.7
}

project(':Server') {
    war {
        destinationDir serverDir
    }
}

...

//----------------------------------------------------------------------------
//                      SERVER'S PROJECTS' CONFIGURATION
//----------------------------------------------------------------------------

project(':Server') {
    eclipse {    
        project {
            natures "com.springsource.sts.gradle.core.nature"
        }

        classpath {
            containers "com.springsource.sts.gradle.classpathcontainer"
        }
    }
}

...

//----------------------------------------------------------------------------
//                    SERVER'S DEPENDENCIES' CONFIGURATION
//----------------------------------------------------------------------------

configure(serverProjects) {
    repositories {
        mavenCentral()
        maven { url 'https://repository.jboss.org/nexus/content/groups/public' }
    }
}

project(':Server') {
    dependencies {
        ...
    }
}

我该怎么做才能确保将项目导入 Eclipse 而不会出现此问题?

编辑:

我唯一可见的信息是这个:空验证错误

据我所知,maven 构建的项目没有任何错误,只有少量警告。现在我看到<form:errors path="field"/>关于“列表是通用的”的简单呼喊。

编辑2:

我设法通过将项目配置更改为:

//----------------------------------------------------------------------------
//                      SERVER'S PROJECTS' CONFIGURATION
//----------------------------------------------------------------------------

project(':Server') {
    eclipse {    
        project {
            natures      "org.springframework.ide.eclipse.core.springnature"
            buildCommand "org.springframework.ide.eclipse.core.springbuilder"
        }
    }
}

但主要问题 - 没有关于它所关注的信息的验证错误 - 仍然存在。

4

3 回答 3

8

我有同样的问题(我认为)。我通过右键单击项目并选择“验证”来解决它。这重新执行了验证并清除了错误。

于 2013-04-26T18:31:28.270 回答
2

在警告清理期间,我决定删除文件src/test/resources/log4j.xml,因为它与src/main/resources/log4j.xml. 在那一刻,空验证错误消失了。

如果其他人遇到类似的错误,他应该尝试摆脱所有警告,因为显然他们能够使项目无法通过 Eclipse 验证。

于 2013-03-22T14:25:59.573 回答
0

就我而言,编码会导致这个问题。我的源代码由 UTF-8 编码,但 eclipse 设置为 MS949。如果将 eclipse 或工作空间编码设置更改为 UTF-8,则可能会删除空验证错误。

有时,尽管设置了正确的编码,但问题并没有消除。这时,我将编码更改为任何其他类型,然后将其回滚为 UTF-8。然后,它可能会被删除。

于 2022-01-03T08:45:14.277 回答