14

我对此感到非常沮丧:

我正在使用一个 Maven 项目,将 jdbc 与eclipselink一起使用。mvn install按预期工作。直到我必须更改persistence.xml 中的密码。当我这样做时mvn cleanmvn install项目被破坏并且错误的(旧)persistence.xml 仍在使用中。在 Eclipse 中,我必须这样做maven -> update project(使用 m2e 插件)并mvn install再次突然工作。

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

有没有等价的?

显式场景:

我正在我的本地机器(osx/win7)上开发一个在 eclipse 中导入的 maven 项目。我有一个 JPA Persistence 接口,它封装了通过eclipselink实现的数据库连接。我可以在本地部署(mvn install),但是在我运行mvn clean并更改密码之后persistence.xml mvn install不再可能。我只是classDefNotFound Persistor参加测试,因为它静态初始化无法连接新原因的EntityManagerpersistence.xml - 或者至少这是我的观点,因为堆栈跟踪并没有真正的帮助。但是,在maven -> update project...项目上的 Eclipse 之后,mvn install再次工作并使用新密码(测试运行!)。

当我想在远程机器(debian,命令行)上部署项目时,我无法“mvn install”拉取的项目,因为在我更改了persistence.xml中的密码进行部署后,它又是错误的persistence.xml或在至少使用了一些缓存。我希望它更清楚一点。

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

4

2 回答 2

4

看起来您可以mvn eclipse:clean eclipse:eclipse用来重新生成 Eclipse 项目文件——希望对您有所帮助。

于 2013-02-20T23:46:31.473 回答
1

来自 eclipse 的 maven update 项目是不同的,因为它会生成一个 Maven Dependencies 类路径容器

mvn eclipse:eclipse 生成一个引用库容器。

于 2014-03-27T20:53:49.660 回答