3

我正在开发一个使用 Seam 实现多个 Java Web 应用程序(和相关的 JAR 文件)的项目。

关于在部署中包含版本信息的最佳实践是什么?我需要了解的是 Web 应用程序应该如何包含和发布它们的版本,以及如何对 JAR 文件执行相同的操作。

谢谢

4

4 回答 4

4

有sun规格教程

于 2009-07-20T12:12:50.143 回答
1

在包含版本号时,您有几个选择:

  1. 将其添加到 JAR 的MANIFEST.INF中。
  2. 在文件名中包含 JAR 的版本。

两者都做是很常见的。

于 2009-07-20T12:12:12.733 回答
0

作为一个Maven用户,我遵循 Maven约定并让 Maven 管理所有版本控制,所以我最终得到了带有表单名称的战争和 jar:

foo-core-1.0.0.jar
foo-ui-1.0.0.jar
foo-app-1.1.0.war
...

Maven 还会将版本信息放在 Manifest 中,并将 POM 嵌入 META_INF/maven/[groupId]/[artifactId]/pom.xml 中,以便您确定原始工件所依赖的内容。这对于手动验证实时服务器非常方便。

于 2009-07-20T12:18:16.340 回答
0

具有官方版本号的库通常将其嵌入文件名中。

对于构建信息,无论如何你都应该有一个自动化的构建过程,而且它很可能使用 ant。很容易:

  • 对于 jar 文件,您可以在清单文件中设置实现属性。
  • 您可以在包含您希望传播的信息的类路径中创建一个属性文件。通常,您需要构建时间和构建者。
  • 对于 Web 应用程序,您可以将其放在 web.xml 中的描述中。

您可以通过多种方式显示此信息:

  • Web 应用程序的描述通常在部署环境中很容易看到。
  • 显示用于构建的组件的构建页面。
  • 在启动时将构建信息记录到 servlet 日志中。

这里的基本问题是谁需要看到它?最终用户无法在日志中看到...

也不要低估准确保存的部署日志的价值!您不必去查看消费者文件...

于 2009-07-20T12:19:01.630 回答