【发布时间】:2017-06-04 11:49:54
【问题描述】:
我的 dependencies.xml 包含许多我的 Web 应用程序运行所需的包
以下是一些值得注意的片段
<configurations>
<conf name="test" visibility="public" extends="compile" />
<conf name="compile" visibility="public" extends="runtime" />
<conf name="runtime" visibility="public" />
<conf name="provided" visibility="public" />
<conf name="junit" visibility="public" extends="test" />
</configurations>
<publications>
<artifact name="${project.name}" type="jar" ext="jar" conf="compile" />
<artifact name="${project.name}" type="zip" ext="zip" conf="compile"/>
</publications>
<dependencies>
<dependency org="org.hibernate" name="hibernate-core" rev="5.1.3.Final" transitive="false" conf="runtime->*"/>
<dependency org="org.hibernate" name="hibernate-ehcache" rev="5.1.3.Final" transitive="false" conf="runtime->*"/>
<dependency org="org.hibernate.common" name="hibernate-commons-annotations" rev="5.0.1.Final" transitive="false" conf="runtime->*"/>
<dependency org="org.hibernate.javax.persistence" name="hibernate-jpa-2.1-api" rev="1.0.0.Final" transitive="false" conf="runtime->*"/>
<dependency org="org.javassist" name="javassist" rev="3.21.0-GA" transitive="false" conf="runtime->*"/>
<dependency org="org.jboss.logging" name="jboss-logging" rev="3.3.0.Final" transitive="false" conf="runtime->*"/>
<dependency org="javax.transaction" name="jta" rev="1.1" transitive="false" conf="runtime->*"/>
<dependency org="net.sf.ehcache" name="ehcache-core" rev="2.6.11" transitive="false" conf="runtime->*"/>
<dependency org="antlr" name="antlr" rev="2.7.7" transitive="false" conf="runtime->*"/>
<dependency org="org.antlr" name="antlr4-runtime" rev="4.5.2-1" transitive="false" conf="runtime->*"/>
</dependencies>
我有来自 javax.transaction 的 JTA 包,对于在 Tomcat 下运行的应用程序 必需 和在 WebSphere 下运行的应用程序 禁止。
我需要知道如何根据目标平台制作两个不同的 WAR 文件。我不完全知道如何使用配置,如果是这样的话。
Ant 将为配置 runtime 执行 ivy-retrieve 并使用从 Artifactory 下载的 jar 构建 WAR 存档。
我可以在 Ivy 解决工件后通过删除手动排除这些 jar,但是嘿,我们是很酷的开发人员,我们喜欢以更清洁的方式做事。
你会如何建议我做一个ivy-retrieve 以包含 JTA 的 Tomcat 为目标,另一个以 Websphere 为目标但不包括它?
【问题讨论】:
标签: java ant dependency-management ivy