ポートレットで複数の jar を使用しています (c3p0 など)。ここで、すべてのポートレット lib フォルダーに jar を配置することを避けたいと考えています。複数のポートレット内で 1 つの jar ファイルを共有するにはどうすればよいですか? また、それらを Eclipse IDE に統合するにはどうすればよいですか? 外部 jar を追加するか、それらを 1 つの専用プロジェクトに入れて、そこから含めますか?
2 に答える
別の解決策は、それらを下に置くことです../liferay-portal-<version>/tomcat-<version>/webapps/ROOT/WEB-INF/lib
それらをここに配置すると、JAR をポートレットのポートレットの依存関係として追加できますliferay-plugin-package.properties
(Liferay Developer Studio または Liferay IDE を使用している場合は、このための優れた GUI があります)。
次に、デプロイ時に、Liferay は必要な JARS をROOT/WEB-INF/lib
ポートレットにコピーしますWEB-INF/lib
これは、それを行うための Liferay サポート メカニズムであり、デプロイ時に JAR がポートレットのクラスパスにコピーされるため、再起動は必要ありません。
私が考えることができる 1 つの方法は、それらすべてをグローバル パスに配置することです。
たとえば、Tomcat では、それらを に../liferay-portal-<version>/tomcat-<version>/lib/ext
配置できます。次に、Eclipse でサーバー ランタイム ライブラリを構成すると、これらの jar がビルド パスに含まれます。
このリンクも決定に役立つ可能性がありますが、それは代弁して*-service.jar
いますが、1 つのポートレットで他の jar が機能するかどうかはわかりません。