我工作的地方,每个项目都由一个JAR文件表示。每个项目都有一组数据库表。这些项目中的每一个都在JAR中有一个Hibernate配置和util,包括实体。
我现在正在开发一个项目,该项目实际上将使用另一个项目的数据库表,因此,它的实体。
我遇到的问题是,当我将JAR作为依赖项(通过Maven)包含时,主项目的Hibernate配置文件将被忽略并使用其他项目的JAR中包含的那些。这会导致与实体等的映射问题,如您所能想象的那样。
我的问题是:是否有办法将其他JAR文件作为依赖项包含但忽略Hibernate配置文件?或者至少让它使用主项目中的那些?
我正在努力避免重复实体,例如这些表格将来可能会被更改,而宁愿在一个项目中进行更改而不是几个。
再次感谢您的帮助!非常感谢!
答案 0 :(得分:1)
1)由于用作依赖的jar是来自你自己的项目的jar,那么在没有导致文件的情况下生成这些jar的内容呢 它内部的这场冲突?
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.5</version>
<configuration>
<excludes>
<exclude>**/somethingtoexclude/*</exclude>
</excludes>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>
2)如果您不喜欢在没有要忽略的文件的情况下生成jar的想法,可以使用TrueZip Maven插件将其从生成的jar文件中删除:
http://mojo.codehaus.org/truezip/truezip-maven-plugin/index.html
示例: http://svn.codehaus.org/mojo/trunk/mojo/truezip/truezip-maven-plugin/src/it/remove-file-in-jar-under-war/pom.xml