我将使用Apache Ant和Apache Ivy构建一个部署到本地Tomcat实例的Web应用程序(在开发期间)。我有一些问题:

  1. 我想从Maven2存储库中获取大多数依赖项,但是对于servlet JAR,我想使用Tomcat提供的一个。有没有办法用常春藤做到这一点?那你这么做怎么想?
  2. 我使用Ant将Ivy JAR下载到“自动安装”它进入〜/ .ivy2 / jar / ivy.jar,我将Ivy缓存放在默认位置〜/ .ivy2 / cache。我故意将这两个位置保留在项目目录之外。好主意?
  3. 您是否有一个如何使用Ant作为构建文件,Ivy解决依赖关系,编译WAR文件并将其部署到本地(目前)Tomcat安装的示例?我正在寻找一些最佳实践,然后我可以进一步修改。
  4. 我在常春藤网站上使用了一些例子并进行了修改。有什么我应该改变的吗?构建文件可以在 http://pastebin.com/f7b34abc2 上看到,因为我在粘贴XML代码时遇到了问题在这里。
  5. (请注意我正在寻找我应该使用 Maven2 的建议,即使该建议很有用。)

有帮助吗?

解决方案

在运行时,tomcat将自己使用它,因为它的类加载器将在其中排除任何带有 javax.servlet.Servlet 的jar。如果你真的必须编译它,你将不得不在ant脚本中执行它,并复制它或在编译类路径中引用它。

另外,根据需要下载常春藤是一个好主意,因为它会阻止将ivy jar检查到项目scm repo中,就像我过去一样,无论是将其下载到项目目录还是用户主页都是个人喜好的问题。另一方面,常春藤缓存应该与其他项目共享,因此用户主目录是一个很好的位置。

一旦你完成了ivy,构建war文件就没有任何不同了:因为所需的jar文件是项目的本地文件,所以只需使用ant war任务来正常创建war。这是常春藤的一个优点,一旦下载了罐子,它就没有更多的东西可以在构建中使用了,你可以使用ant来编译和打包你的项目。

快速浏览一下你的构建文件,看起来很完美。

希望这有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top