0

Web アプリケーションで struts2 でタイルと jasper プラグインを使用したいのですが、アプリケーションのデプロイ中にエラーが発生します。Google を実行した後、アプリケーションにプラグイン バージョンのミスマッチがあることがわかりました。

struts2 2.2.3 と jasper プラグインを使用すると、うまくいきませんでした。しかし、struts2 2.1.8 と jasperを使用すると、正常に動作します。次に、Struts 2.1.8 と統合タイルを使用することにしましたが、展開時にエラーが発生しました

SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: javax.servlet.ServletException: com.sun.enterprise.container.common.spi.util.InjectionException: Error creating managed object for class: class org.apache.struts2.tiles.StrutsTilesListener
4

2 に答える 2

2

一言で言えば、Struts 2.2.3 Tiles および Jasper プラグインで使用されているバージョン。

質問されているということは、Maven を使用しておらず、推移的な依存関係を手動で管理していることを意味します。これは、ほとんどの場合、本当に悪い考えです。これをしないように強く求めることはできません。

長い回答:このような質問がある場合は、Maven 構成ファイルおよび/または Maven 自体を使用して回答を見つけてください。これが Struts 2 の構築方法であるためです。

情報が pom で明示されている場合は、http://mvnrepository.comなどのサイトを使用できます。

Struts 2 JasperReports プラグインの依存関係: JasperReports 3.1.2

Struts 2 Tiles プラグインの依存関係: Tiles 2.0.6 ですが、POM で Tiles のバージョンが明示されていないため、簡単にはわかりません。実行mvn dependency:treeすると、2.0.6 であることが示されます。

[INFO] org.apache.struts:struts2-tiles-plugin:jar:2.2.3
[INFO] +- org.apache.tiles:tiles-core:jar:2.0.6:compile
[INFO] |  +- org.apache.tiles:tiles-api:jar:2.0.6:compile
[INFO] |  +- commons-digester:commons-digester:jar:2.0:compile (version managed from 1.8)
[INFO] |  |  \- commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO] |  \- commons-logging:commons-logging-api:jar:1.1:compile
[INFO] +- org.apache.tiles:tiles-jsp:jar:2.0.6:runtime
... etc ...
于 2012-06-16T13:59:20.070 に答える
0

上記の問題は、プラグインが struts バージョンと互換性がないために発生します。Struts バージョンと一致するプラグインを選択します。jasper プラグインをアップグレードします。

あなたのためにダウンロードリンク

http://www.java2s.com/Code/Jar/s/Downloadstruts2jasperreportsplugin223jar.htm

于 2016-03-18T11:34:51.567 に答える