我们有一个maven构建,它创建一个ear文件,其中包含在其内部lib
文件夹中包含JPA实体的库。 ear文件有一个persistence.xml
,我们使用<jar-file>
标记添加实体:
<persistence-unit name="some-id">
<jar-file>MyEntities-1.0.0-SNAPSHOT.jar</jar-file>
使用单独的maven项目构建MyEntities
lib。
只要构建在本地完成,这就可以正常工作,我只使用mvn install
并且不部署到远程快照存储库。当我们开始部署到repo时,由于本地.m2
repo和远程仓库中的jar文件名不同,它失败了:
mvn install
在本地仓库上创建名为MyEntities-1.0.0-SNAPSHOT.jar
的文件,mvn deploy
在远程存储库上创建名为MyEntities-1.0.0-20131212-145600-42.jar
的文件。
现在,如果在我上次本地构建和maven之后部署的人员寻找新的快照更新(基于策略或带有-U
标志),它会将远程文件拉到本地仓库并复制带有THAT名称的jar因为无法找到实体(在persistence.xml中声明了不同的jar文件),因此在部署时会导致JPA错误。
除了在组装ear文件之前始终在本地构建之外,是否有解决该问题的方法?
答案 0 :(得分:0)
这适用于我们的项目:
height:auto
var len = $.grep(arr1, (o)=> {
return o.type === 1 || o.type === 3;
}).length;