persistence.xml中的jar文件名问题

时间:2013-12-12 13:59:52

标签: java maven java-ee jpa

我们有一个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文件之前始终在本地构建之外,是否有解决该问题的方法?

1 个答案:

答案 0 :(得分:0)

这适用于我们的项目:

height:auto

var len = $.grep(arr1, (o)=> {
    return o.type === 1 || o.type === 3;
}).length;