我使用maven 3并且我在一个OSGi项目中使用了许多模块。 每个模块都有不同的版本,所以当有人进行修改时,他需要将版本更新为-SNAPSHOT。但有时候人们会忘记更改版本,因此在部署完成时,没有任何部署,并且新代码没有嵌入到发行版中。 这就是为什么我要在此改变部署Maven插件只在发布jar添加一个MD5验证(不是快照,因为我敢肯定,他们正在部署),并写log.warn说“检查版本模块X,因为IT方面似乎已经模块改变但版本是一样的以前“Maven在部署之前部署检查md5
currenlty当我做部署,我得到释放jar的模块,我比较md5与我的目标目录中的jar,但由于MANIFEST,MD5是从来没有相同,所以我得到总是我的警告。 我更改了代码一点要检查的文件的MD5文件,现在我可以使不同的文件,而不检查文件的清单(清单....) 但是,如果90%的文件具有相同的MD5的报告,其他不,但如果。我打开2不同的文件,实际上它们是同文...只是因为关系罐子是在Linux上构建和目标罐子建立在窗口...一些文件不同等诸多不是......
我怎样才能创建在linux上建立一个jar或与md5相同的窗口?这有可能或取决于诸如processeur,linux/windows之类的许多东西吗?
由于通过提前,如果您有任何其他的想法做自己想做的事,其它manear ...
首先你通过'没什么意思是部署,'如果他们改变的东西比新的快照将被制成,该快照具有不同的时间戳记,这意味着在OSGi的不同预选赛?除此之外快照不能集成到发布中...... btw:在MANIFEST中定义了哪些版本,或者它们是如何定义的? – khmarbaise
如果开发人员忘记更改包的限定符,则不会部署任何内容。如果版本为1.0.0,则此版本已存在于nexus上,而mvndeploy不会部署任何配置。但开发人员更改java类,并且即使我们将版本传递到1.1.0-SNAPSHOT,代码也不会部署。我们使用maven-bundle-plugin,所以我们不定义静态版本,所以我们有一个由插件设置的默认范围。 –
你在使用tycho吗? – khmarbaise