Eclipse(STS)/ Maven集成问题

时间:2012-01-05 15:22:39

标签: java eclipse maven-2 sts-springsourcetoolsuite

我正在开发一个使用maven进行依赖关系管理的相当大的项目。作为其中的一部分,我们使用Maven配置文件来构建和替换测试/开发/生产环境之间不同的某些属性文件。

要执行构建,我将执行Maven:使用正确的配置文件进行构建,然后mavens reactor将以正确的顺序构建项目并将jar存储在.m2文件夹中,例如首先是域jar,然后是服务jar (将jar作为依赖项包含在其jar中)等等。这导致war文件最终具有战争运行所需的所有正确的库。

当eclipse执行其每次保存文件时执行的默认构建时,jar不是使用任何配置文件构建的,只是常规构建。

当我将最终的war文件推送到服务器并且在服务器启动时爆炸(通过eclipse启动和部署)我在lib文件夹中获取maven已经打包到war文件中的所有jar文件日食所建造的罐子。

例如

lib/
    domain.jar (built by eclipse)
    domain.SNAPSHOT.1.0.jar (built by maven)
    etc

有没有办法防止这种情况发生?这样做的最终结果是每个属性文件中只有两个,并且只有它们的加载顺序决定使用哪个。在不同的环境中使用不同的属性真的很麻烦。

1 个答案:

答案 0 :(得分:1)

我找到了一个解决这个问题的方法。

在网络项目属性中 - >部署程序集我修改了违规jar文件的路径,例如{/ 1}}来自

domain.jar

WEB-INF/lib/domain.jar

这会导致eclipse生成的jar文件(包含错误的属性文件)被部署到tomcat启动时不会加载的文件夹中。不是一个完美的解决方案,但它允许eclipse自动构建的所有好东西,如网络项目中的代码完成和错误消息,如果域的接口改变等,同时在部署时提供正确的配置文件。

在这种情况下将其留给其他任何人。