【发布时间】:2013-02-06 04:08:40
【问题描述】:
我对此感到非常沮丧:
我正在使用一个 maven 项目,使用带有 eclipselink 的 jdbc。 mvn install 按预期工作。直到我必须更改persistence.xml 中的密码。当我执行mvn clean 和之后的mvn install 时,项目已损坏并且错误的(旧)persistence.xml 仍在使用中。在 Eclipse 中,我必须做 maven -> update project(使用 m2e 插件),而 mvn install 又突然工作了。
现在我的问题:在部署服务器上,我正在使用命令行脚本,但我发现没有与 m2e 功能等效的 mvn XYZ...
有没有等价的?
显式场景:
我正在我的本地机器(osx/win7)上开发一个在 eclipse 中导入的 maven 项目。我有一个 JPA Persistence 接口,它封装了通过 eclipselink 实现的数据库连接。我可以在本地部署(mvn install),但是在我运行mvn clean 并更改persistence.xml 中的密码之后,mvn install 不再可能。我只是在测试中得到classDefNotFound Persistor,因为它静态初始化了无法连接新persistence.xml 的原因的EntityManager——或者至少这是我的观点,因为堆栈跟踪并不是很有帮助.但是,在项目的 eclipse 中 maven -> update project... 之后,mvn install 再次工作并使用新密码(测试运行!)。
当我想在远程机器(debian,命令行)上部署项目时,我无法“mvn install”拉取的项目,因为在我更改了persistence.xml 中的密码进行部署后,又是错误的持久性。 xml 或至少使用了一些缓存。 我希望它更清楚一点。
解决方案: 确保 persistence.xml 放在 src/main/resources/META-INF 而不是其他地方。 m2e 从错误的地方捕获 persistence.xml(在我的例子中,src/main/java/META-INF)。所以这基本上只是一个错误的项目结构。
【问题讨论】:
标签: java eclipse maven command-line