6

ポートレットで複数の jar を使用しています (c3p0 など)。ここで、すべてのポートレット lib フォルダーに jar を配置することを避けたいと考えています。複数のポートレット内で 1 つの jar ファイルを共有するにはどうすればよいですか? また、それらを Eclipse IDE に統合するにはどうすればよいですか? 外部 jar を追加するか、それらを 1 つの専用プロジェクトに入れて、そこから含めますか?

4

2 に答える 2

6

別の解決策は、それらを下に置くことです../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 がポートレットのクラスパスにコピーされるため、再起動は必要ありません。

于 2012-09-11T08:09:10.937 に答える
2

私が考えることができる 1 つの方法は、それらすべてをグローバル パスに配置することです。

たとえば、Tomcat では、それらを に../liferay-portal-<version>/tomcat-<version>/lib/ext配置できます。次に、Eclipse でサーバー ランタイム ライブラリを構成すると、これらの jar がビルド パスに含まれます。

このリンクも決定に役立つ可能性がありますが、それは代弁して*-service.jarいますが、1 つのポートレットで他の jar が機能するかどうかはわかりません。

于 2012-09-10T10:52:24.690 に答える