Tag: versioning

如何使用JSF 2 h:outputStylesheet实现“CSS版本控制”(以解决缓存问题)?

我开始使用JSF 2,所以我想尝试一下h:outputStylesheet。 它工作正常但后来我尝试应用“模式”或将查询字符串添加到请求的技巧,该请求随文件版本而变化以强制浏览器获取更改。 像这里使用的东西 。 不幸的是我无法做到这一点。 实际上,当使用该标记时,它不会生成一个简单的URL,而是一个已经具有查询字符串的计算URL。 我已经在规范和这里找到了有关JSF 2中资源版本化的一些信息,但它似乎指的是资源的多个版本,这不是我需要的。 当然,我总是可以回去不使用新标签。 但我想在此分享一下以供讨论。 更新1 – 一些例子: 我试过的是这样的: 其呈现为: 相当具有描述性。 😉 我试图得到的是这样的: 其中,使用JSP,我曾经这样说过: <link rel="stylesheet" type="text/css" href="”/>

如何在生产中测试和运行jar时创建一个可用的MANIFEST.MF?

我花了太多时间试图解决这个问题。 这应该是最简单的事情,每个在Java中分发Java应用程序的人都必须处理它。 我只是想知道向我的Java应用程序添加版本控制的正确方法,以便我可以在测试时访问版本信息,例如在Eclipse中调试并从jar运行。 这是我在build.xml中的内容: 这创建了/META-INF/MANIFEST.MF,我可以在Eclipse中调试时读取值: public MyClass() { try { InputStream stream = getClass().getResourceAsStream(“/META-INF/MANIFEST.MF”); Manifest manifest = new Manifest(stream); Attributes attributes = manifest.getMainAttributes(); String implementationTitle = attributes.getValue(“Implementation-Title”); String implementationVersion = attributes.getValue(“Implementation-Version”); String builtDate = attributes.getValue(“Built-Date”); String builtBy = attributes.getValue(“Built-By”); } catch (IOException e) { logger.error(“Couldn’t read manifest.”); } } 但是,当我创建jar文件时,它会加载另一个jar的清单(可能是应用程序加载的第一个jar – 在我的例子中,是activation.jar)。 此外,尽管所有正确的值都在清单文件中,但以下代码不起作用。 Package thisPackage […]

基于JAX-RS的实现中的简单REST资源版本控制?

REST资源版本控制的最佳实践是将版本信息放入HTTP请求的Accept / Content-Type标头中,使URI保持不变。 以下是用于检索系统信息的REST API示例请求/响应: ==> GET /api/system-info HTTP/1.1 Accept: application/vnd.COMPANY.systeminfo-v1+json <== HTTP/1.1 200 OK Content-Type: application/vnd.COMPANY.systeminfo-v1+json { “session-count”: 19 } 请注意,MIME类型中指定了版本。 这是版本2的另一个请求/响应: ==> GET /api/system-info HTTP/1.1 Accept: application/vnd.COMPANY.systeminfo-v2+json <== HTTP/1.1 200 OK Content-Type: application/vnd.COMPANY.systeminfo-v2+json { “uptime”: 234564300, “session-count”: 19 } 有关更多说明和示例,请参见http://barelyenough.org/blog/tag/rest-versioning/ 。 是否有可能在基于Java的JAX-RS实现中轻松实现此方法,例如Jersey或Apache CXF? 目标是让几个@Resource类具有相同的@Path值,但是根据MIME类型中指定的实际版本提供请求? 我一般都研究过JAX-RS,特别是泽西,并且没有找到支持。 泽西岛没有机会用相同的路径注册两个资源。 需要实现WebApplicationImpl类的替换以支持它。 你能提出什么建议吗? 注意:需要同时提供同一资源的多个版本。 新版本可能会引入不兼容的更改。

Java MongoDB对象版本控制

我需要对存储在面向文档的数据库(MongoDB)中的(简单)Java对象图进行版本控制。 对于关系数据库和Hibernate,我发现了Envers ,并对可能性感到非常惊讶。 是否有类似的东西可以用于Spring Data Documents? 我发现这篇文章概述了我对存储对象版本的想法(以及更多…),我当前的实现类似,因为它将对象的副本存储在带有时间戳的单独历史记录集合中,但我想改善这一点以节省存储空间。 因此,我认为我需要在对象树上实现“diff”操作,并且需要用于重构旧对象的“合并”操作。 有没有图书馆帮助这个? 编辑 :任何MongoDB和版本的经验高度赞赏! 我看到很可能没有Spring Data解决方案。