簡體   English   中英

persistence.xml中的jar文件名問題

[英]Jar file name problems in persistence.xml

我們有一個maven構建,它創建一個ear文件,其中包含在其內部lib文件夾中包含JPA實體的lib ear文件有一個persistence.xml ,我們使用<jar-file>標簽添加實體:

<persistence-unit name="some-id">
    <jar-file>MyEntities-1.0.0-SNAPSHOT.jar</jar-file>

MyEntities lib是使用單獨的maven項目構建的。

只要構建在本地完成,這就可以正常工作,我只使用mvn install而不是部署到遠程快照存儲庫。 當我們開始部署到repo時,由於本地.m2 repo和遠程repo中的jar文件名不同,它失敗了:

mvn install在本地存儲庫上創建名為MyEntities-1.0.0-SNAPSHOT.jar的文件, mvn deploy在遠程存儲庫上mvn deploy名為MyEntities-1.0.0-20131212-145600-42.jar的文件。

現在,如果在我上次本地構建和maven之后部署的人員尋找新的快照更新(基於策略或使用-U標志),它會將遠程文件拉到本地倉庫,並將帶有THAT名稱的jar復制到耳朵,這會導致部署時出現JPA錯誤,因為無法找到實體(在persistence.xml中聲明了不同的jar文件)。

除了在組裝耳朵文件之前始終在本地構建之外,是否有解決該問題的方法?

這適用於我們的項目:

<persistence-unit name="foo">
    <!-- property comes from root pom.xml -->
    <jar-file>../lib/foo-${bar.version}.jar</jar-file>
    <properties>

    </properties>
</persistence-unit>

 <build>
    <resources>
        <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>META-INF/persistence.xml</include>
                </includes>
         </resource>
     </resources>
</build>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM