使用Maven在动态Web项目中构建并包含JSF taglib作为jar

时间:2013-03-15 09:38:33

标签: jsf maven taglib

我正在研究JSF taglib。为了测试它,我按照here所述将其编译为JAR,并将其手动添加到Dynamic Web Project(在WEB-INF / lib目录中)。

我知道这一步可以自动化,但我不知道如何。任何人都可以解释如何将生成的jar复制到Eclipse中的第二个项目吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

要完成的一些步骤:)

  • 将pom.xml添加到项目中并遵循maven目录结构。为taglib项目使用包装“jar”。让我们假设您使用groupId = com.company.taglib artifactId = company-taglib version = 1.0.0-SNAPSHOT
  • 如果您在此项目上执行mvn install,它会将jar复制到您的本地maven存储库(通常位于〜/ .m2 / - 现在maven可以解析对本地计算机的依赖性
  • 将pom.xml添加到您的webproject,使用打包“war”并将taglib项目添加为依赖项(在pom.xml中的<dependencies>内)。
<dependency>
  <groupId>com.company.taglib</groupId>
  <artifactId>company-taglib</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>

Maven将从您的本地存储库中解析此依赖项。在使用m2e插件的Eclipse中,它将直接解析项目。

要“发布”taglib.jar,您需要一个基础架构来共享工件。通常使用存储库代理(Sonatype Nexus或Artifactory)。您还可以使用file://协议使用网络文件夹进行快速启动。

在pom.xml中,您需要添加<distributionManagement>部分(在taglib pom.xml中)以指定工件上传到的文件夹/代理。然后mvn deploy将为您构建并复制jar文件。

其他开发人员需要在settings.xml中将该位置添加为存储库(我不建议在pom.xml中执行此操作)或者如果您设置了maven代理,请在settings.xml中配置mirrorOf

有可用的archteypes(项目模板)可以帮助您创建初始项目结构:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

另见:http://maven.apache.org/guides/getting-started/index.html