什么是Maven - >更新项目......到底?

时间:2013-02-20 23:40:00

标签: java eclipse maven command-line

我对此感到非常沮丧:

我正在使用maven项目,使用jdbc和eclipselink。 mvn install按预期工作。直到我必须在persistence.xml中更改PW。当我执行mvn clean之后mvn install时,项目被破坏,错误的(旧)persistence.xml仍在使用中。在eclipse中我必须做maven -> update project(使用m2e插件)并且mvn install再次突然工作。

现在我的问题:在部署服务器上我使用命令行脚本,我发现m2e功能没有mvn XYZ等效...

是否有一些等价物?

明确的情景:

我在eclipse中导入的maven项目中使用我的本地机器(osx / win7)进行开发。我有一个JPA持久性接口,它封装了通过eclipselink实现的数据库连接。我可以在本地进行部署(mvn install),但在我运行mvn clean之后,更改persistence.xml mvn install中的密码是不可能的。我只是在测试中得到classDefNotFound Persistor,因为它静态初始化了EntityManager,它无法连接新persistence.xml的原因 - 或者至少是我的看法,因为堆栈跟踪并不是真的有用。但是,在项目的eclipse中maven -> update project...之后,mvn install再次运行并且获取了新密码(测试运行!)。

当我想在远程机器(debian,命令行)上部署项目时,我无法“安装”拉出的项目,因为在我更改了persistence.xml中的密码以进行部署之后,它再次出现错误的persistence.xml或至少有一些缓存用过。 我希望能让它更清楚一点。

解: 确保persistence.xml放在src / main / resources / META-INF中而不是其他地方。 m2e从错误的地方捕获persistence.xml(在我的例子中,src / main / java / META-INF)。所以它基本上只是一个错误的项目结构。

2 个答案:

答案 0 :(得分:4)

您似乎可以mvn eclipse:clean eclipse:eclipse使用regenerate the eclipse project files - 希望对您进行排序。

答案 1 :(得分:1)

来自eclipse的

maven更新项目是不同的,因为它将生成Maven Dependencies类路径容器

mvn eclipse:eclipse生成一个Referenced Library Container。