我有几个使用外部库的 OSGI 包和 WAR 包:
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>4.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>4.2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>osgi-cdi-api</artifactId>
<version>3.1-b41</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
可以将这些库复制到 Glassfish 服务器的 /modules 目录中,而不是将这些库构建到每个 OSGI 包和 WAR 包中。我想可以只使用一个副本没有任何问题吗?
编辑
我发现这些库可以使用以下命令部署为 Glassfish 中的模块:
[root@Testserver bin]# sh asadmin add-library /opt/primefaces.jar
但是,例如在一个简单的 WAR 包中,我需要修改什么才能使用 Glassfish 模块?我想必须将 WAR 包配置为使用外部库?