1

我正在开发一个 JSF 标签库。为了测试它,我按照这里的描述将它编译成一个 JAR并手动将它添加到一个动态 Web 项目(在 WEB-INF/lib 目录中)。

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

提前致谢!

4

1 回答 1

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 项目添加为依赖项(<dependencies>在 pom.xml 中)。
<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 中)以指定将工件上传到的文件夹/代理。然后Amvn deploy将为您构建和复制 jar 文件。

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

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

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

于 2013-03-15T11:16:34.630 回答