以下のサイトを参考に環境構築を行い、
サンプルプログラムを実行しようとしています。、
http://www.atmarkit.co.jp/fjava/special/struts2/ …
(サンプルファイルは3pで落とすことができます。)
実行しようとすると下記エラーが出てしまい、解決ができない状況です。
-------------------------------------------------------------------------------
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Test20130103' did not find a matching property.
1 03, 2013 5:38:36 午前 org.apache.catalina.core.StandardContext filterStart
SEVERE: フィルタ struts2 の起動中の例外です
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:257)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:383)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:104)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1637)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
1 03, 2013 5:38:36 午前 org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
1 03, 2013 5:38:36 午前 org.apache.catalina.core.StandardContext startInternal
SEVERE: 以前のエラーのためにコンテキストの起動が失敗しました [/Test20130103]
---------------------------------------------------------------------------------
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
とあるため、
必要なjarファイルがライブラリに追加されていないだけだと最初は思っていたのですが、
追加してもうまく実行されないためどうも違うようです。
下記jarファイルを現在インストールしています。
commons-io-2.0.1.jar
commons-fileupload-1.2.2.jar
commons-lang-2.4.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-codebehind-plugin-2.3.8.jar
struts2-convention-plugin-2.3.8.jar
struts2-core-2.3.8.jar
使用している開発環境eclipseはver4.2.1になります。
何かアドバイスをいただけたらと思います。
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
お疲れさまです。
参照された記事はやや古いバージョンのStruts2のようですね(・ω・`
サンプルプログラムはEclipseのWTPプラグインを利用して作成した"動的Webプロジェクト"のようですので、WEB-INF/libに、お使いのjarファイルを入れていれば動作環境は整います。
ただし、最新の2.3.8を使うとなると、サンプルコードに修正が必要です。
◆フィルタを変更します。
サンプルにある org.apache.struts2.dispatcher.FilterDispatcherは現在、非推奨です。
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterをお使いください。
◆Actionクラス
@Results、@Resultアノテーションは、Struts2.1よりConventionプラグインへ移行しましたので、インポートするパッケージが異なります。
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
◇Result指定
@Resultで指定する属性も変更になりました。
@Result(name = "hello1", location = "index.jsp")
このように、locationを使います。
また、type属性も、クラス名.classではなくなり、文字列(エイリアス)で指定します。
@Result(name = "hello2", location = "jump.jsp", type = "redirect"),
@Result(name = "recipe", location = "jump!recipe", type = "redirectAction"),
@Resultにつけるtype属性については、公式サイトの下記をご覧ください。
http://struts.apache.org/2.x/docs/result-types.h …
他にもjumpActionクラス:@Resultは@Results{}の中になければコンパイルエラーです。
index.jspの1行目:pageEncodingの左に半角スペースがありませんので追加します。
これでひとまず画面が出る所まではできるかと存じます。
以上です。
この回答への補足
お早いご回答とご丁寧な説明感謝致します。
修正して実行してみたところ下記エラーが出ました。
既に操作[ビルドパスの構成]→[外部jarの追加]で xwork-core-2.3.8.jar は入れています。
どうしても解決できないためこちらも見てもらってよろしいでしょうか。
また、お手数かけますがもうひとつ質問があります。
上記の操作のようにjarを追加すると'Java Resources'配下の'ライブラリー'にjarが追加されていきます。
今回、A-pZ様のおっしゃるように'WEB-INF'配下の'lib'にも同じjarを追加しましたが、
双方何が違うのでしょうか。
どちらか一方にjarは追加すれば良いといったようなものではないのでしょうか。
以上、よろしくお願いいたします。
以下エラー一覧
--------------------------------------------------------------------------------------------------------------------------------------
1 04, 2013 1:25:59 午前 org.apache.catalina.core.StandardContext filterStart
SEVERE: フィルタ struts2 の起動中の例外です
java.lang.NoClassDefFoundError: com/opensymphony/xwork2/config/ContainerProvider
at org.apache.struts2.dispatcher.ng.InitOperations.createDispatcher(InitOperations.java:110)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:73)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:278)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:259)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:383)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:104)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:657)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1637)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: com.opensymphony.xwork2.config.ContainerProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 21 more
1 04, 2013 1:25:59 午前 org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
1 04, 2013 1:25:59 午前 org.apache.catalina.core.StandardContext startInternal
SEVERE: 以前のエラーのためにコンテキストの起動が失敗しました [/Test20130103]
あのあと少し作業してみると'lib'フォルダへ
必要であるjarの追加が抜け漏れていたことがわかりました。
実行したところ、おかげさまで画面が表示されました。
画面が表示されましたが今のところボタンをクリックしてもほかのjspへ
ジャンプできない状態です。
もう少し作業してみてどうしてもダメなようであれば
また質問を行おうと思います。
ご協力くださりありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Java マイクラjavaでForgeを入れたいのですが、インストールした.jarファイルが展開されてしまい中 1 2023/07/28 22:30
- CPU・メモリ・マザーボード マイクラ(java)で影modを使用しながら快適に遊びたい!! 1 2022/08/02 18:20
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java です 途中は省いてますが for(int i = 0; i < 25; i ++) { s 4 2022/05/20 23:36
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- その他(パソコン・スマホ・電化製品) Premiere Proで下記サイト http://www.joshcluderay.com/dow 1 2023/07/17 19:51
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Java jdk17.06のインストーラーが起動しない 1 2023/03/27 21:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaでのエラーについて
-
java と javax の違いは?
-
CLASSPATHを設定しても、『Clas...
-
vba クリップボードクリアにつ...
-
JSPファイルで生じるエラーをど...
-
Pythonを無料(安価)で学ぶ方...
-
gitでバージョン指定してダウン...
-
IISワーカープロセスが原因でCP...
-
Window CE でJava appletは使え...
-
エクリプスのプログラミングに...
-
EclipseとVisual StudioをPC1台...
-
文字列に半角スペースがあるか...
-
プログラムの起動、利用につい...
-
MSFormsとは何ですか?
-
javaでの#if 0 #endif文
-
Webアプリケーションを開発する...
-
MSCOMCTL.OCXのアップデートの方法
-
サイドワインダーのドライバ
-
SQLでデータベースから返ったデ...
-
UnknownHostException
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaでのエラーについて
-
java と javax の違いは?
-
propertiesが読み込めなくてnul...
-
javacのコンパイルでファイルが...
-
JAVA実行時エラーについて教え...
-
javaからデータベースに接続 エ...
-
CLASSPATHを設定しても、『Clas...
-
struts2環境構築で不具合が出て...
-
Tomcatでエラー
-
マイクラ1.7.10にcutallなどが...
-
javaのGUIツールキット
-
log4jを使用し、JAVAのバッチプ...
-
マイクラ Ender IO 入れたらク...
-
-Applet表示でのjava.lang.Clas...
-
javaサーブレット upload時
-
JavaMail関係でエラーが出ます
-
JasperExceptionのエラーログの...
-
AntでのJunitの試験
-
マイクラがクラッシュします。
-
Tomcat上で動くサーブレットが...
おすすめ情報