Liferay:为.war模块更改Bundle-version

时间:2017-06-28 08:43:15

标签: liferay liferay-7

我使用Liferay 7.0,我有一些模块,比如init.hook,theme,layout ... 我注意到当我在.jar pom.xml中更改版本时,就像在init.hook pom.xml中一样,更新了bundle版本。 在MANIFEST.MF中,我得到了Bundle-Version:1.2.2,它对应于我的pom中的项目版本。

但是在.war中就像theme.war一样,事实并非如此。我注意到我可以在liferay-plugin-package.properties中更改Bundle-version,但是我想只有一个地方可以更改所有模块版本(在父pom中)。

我尝试使用maven-bundle-plugin:

<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>com.myProject.layout</Bundle-SymbolicName>
<Bundle-Name>Site web Layout</Bundle-Name>
<Bundle-Version>1.2.3</Bundle-Version>
</instructions>
</configuration>
</plugin>

但它不起作用,我仍然没有在MANIFEST.MF中有任何Bundle版本,在gogoShell&#34; lb&#34;命令。

怎么做? THX

1 个答案:

答案 0 :(得分:1)

War文件不是作为捆绑包直接部署到OSGi容器中,而是在部署过程中包装。我不希望WAR文件的Manifest中的任何内容与此过程相关。

jar文件(和包)是一个带有Java代码的文件,例如在与代码包匹配的目录中。 war文件包含完全不同位置的代码,因此它不能像jar文件一样透明地使用。此外,war文件包含许多jar文件,这些文件在部署后不会对OSGi容器可用。它不是捆绑的另一个原因。