我对此感到非常沮丧:
我正在使用一个 Maven 项目,将 jdbc 与eclipselink一起使用。mvn install
按预期工作。直到我必须更改persistence.xml 中的密码。当我这样做时mvn clean
,mvn install
项目被破坏并且错误的(旧)persistence.xml 仍在使用中。在 Eclipse 中,我必须这样做maven -> update project
(使用 m2e 插件)并mvn install
再次突然工作。
现在我的问题:在部署服务器上,我正在使用命令行脚本,但我没有发现mvn XYZ
m2e 功能的等效项......
有没有等价的?
显式场景:
我正在我的本地机器(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。所以这基本上只是一个错误的项目结构。