我对这件事感到非常沮丧:
我正在使用一个maven项目,使用带有eclipselink的JDBC。mvn install
按预期工作。直到我必须更改Persistence.xml中的PW。当我执行mvn clean
和之后的mvn install
时,项目被破坏,错误的(旧的)sistence.xml仍在使用。在eclipse中,我不得不使用maven -> update project
(使用m2e插件),mvn install
突然再次工作。
**现在我的问题是:**在部署服务器上,我正在使用命令行脚本,但我没有找到与M2E功能等效的mvn XYZ
……
有没有类似的东西?
显式场景:
我正在我的本地机器(OSX/Win7)上开发一个导入到eclipse中的Maven项目。我有一个JPA持久化接口,它封装了通过eclipselink实现的数据库连接。我可以在本地部署(mvn install
),但在我运行mvn clean
并更改persistence.xml
中的密码后,mvn install
不再可能。我只是在测试中得到了classDefNotFound Persistor
,因为它静态地初始化了无法连接的EntityManager,这是由于新的persistence.xml
的原因--或者至少这是我的观点,因为堆栈跟踪没有真正的帮助。但是,在项目上的maven -> update project...
进入eclipse后,mvn install
再次工作,并使用新密码(测试运行!)。
当我想要在远程机器(Debian,命令行)上部署项目时,我无法‘MVN安装’拉取的项目,因为在我为部署更改Persistence.xml中的密码后,它再次是错误的Persistence.xml,或者至少使用了一些缓存。我希望这能让它更清楚一点。
**解决方案:**确保Persistence.xml放在src/main/Resources/META-INF中,不要放在其他地方。M2E从错误的位置(在我的例子中,是src/main/Java/META-INF)捕获sistence.xml。因此,这基本上只是一个错误的项目结构。
2条答案
按热度按时间lymgl2op1#
看起来您可以使用
mvn eclipse:clean eclipse:eclipse
到regenerate the eclipse project files--希望这会对您进行排序。798qvoo82#
与eclipse不同的Maven更新项目是不同的,因为它将生成Maven依赖项类路径容器
mvn eclipse:eclipse
生成引用的库容器。