19

Struts2struts.xmlでは、クラスパスに含める必要があるため、WEB-INFの下に置くことはできなくなりました。したがって、プロジェクトをデプロイする方法は、プロジェクトを下に貼り付けWEB-INF/classesて含めることでした。../struts2.xml

2つの問題:

  1. 再構築を行うとEclipseがclassesフォルダーをクリーンアップするため、Eclipseは削除します。struts.xml
  2. Eclipseは私のプロジェクトブラウザーにclassesフォルダーを表示しないので、そもそも構成ファイルを貼り付けるには不十分な場所です。

Struts2 Eclipse開発者はこれをどのように行っていますか?

4

6 に答える 6

17

struts.xmlをソースディレクトリのルートに配置するか、追加のリソースソースディレクトリを設定してそこに配置することができます。Eclipseは、コンパイルを行うときに、それをWEB-INF/classesに非常に喜んでコピーします。

于 2009-05-16T12:56:14.087 に答える
2

パーティーに遅れました。Webアプリケーションのクラスパスの任意のディレクトリでstruts.xmlを構成できますが、strutsの場合は、以下のようにweb.xmlのフィルター構成の「config」initパラメーターを使用して場所を指定します。 .xmlファイルは「/com/resources/」ディレクトリにあります。

   <filter>
        <filter-name>action</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
         <init-param>
            <param-name>config</param-name>
            <param-value>struts-default.xml,struts-plugin.xml,/com/resources/struts.xml</param-value>
         </init-param>
    </filter>

config initパラメーターを指定しない場合、デフォルトでstruts2は3つの値 "struts-default.xml、struts-plugin.xml、struts.xml"を取ります。以下に、これら3つのファイルを構成するstruts2Dispatcherクラスコードを示します。構成マネージャー。

String configPaths = (String)this.initParams.get("config");
if (configPaths == null) {
  configPaths = "struts-default.xml,struts-plugin.xml,struts.xml";
}
String[] files = configPaths.split("\\s*[,]\\s*");
for (String file : files)
  if (file.endsWith(".xml")) {
    if ("xwork.xml".equals(file))
      this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false));
    else
      this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext));
  }
于 2014-11-15T15:01:42.987 に答える
2

Struts 1.2では、struts-config.xmlをクラスパス(WEB-INFフォルダーの下)に配置する必要がありましたが、Struts 2.0では、src / main/resourcesフォルダーに配置する必要があります。

こちらのドキュメントStruts2ドキュメントを参照してください

このディレクトリにstruts.xmlを貼り付けたところ、プロジェクトは正常に実行されました。

私のプロジェクト構造は次のようになります

于 2018-04-23T20:45:22.593 に答える
1

私はEclipseを使用していないため、この回答は要件に固有ではありませんが、Mavenを使用しているため、アプリケーションに必要なすべての「リソース」が「resources」と呼ばれる別のフォルダーにあり、アプリケーションがビルドされると、これらのファイルは次のようになります。適切な場所に自動的にコピーされます。Netbeansでは、フォルダ内のファイルが利用可能であり、同様の設定でEclipseを使用している人がいることを私は知っています。

私たちのプロジェクトはappfuseから始まったので、これらの構成のほとんどは事前に作成されていることを指摘しておく必要があります。あなたはそれがそこでどのように行われたかを見ることができます。

于 2009-05-15T19:11:40.387 に答える
0

struts 2プロジェクトでは、struts.xmlファイルがパッケージおよびライブラリとともにsrc(Java Resources)フォルダーに追加されます。

下の画像を参照してください。

EclipseでのStruts2プロジェクトディレクトリビュー

struts 2プロジェクトの構造について詳しく知りたい場合は、このリンクにアクセスしてください。

:Eclipseでは、ファイルをsrcフォルダーに直接貼り付けることはできません。したがって、最初にプロジェクト内の他の場所(たとえば、「WebContent」フォルダー)に貼り付けてから、移動機能を使用して適切な場所(つまり「src」フォルダー)に配置する必要があります。

于 2012-02-27T09:08:54.287 に答える
0

struts.xmlファイルをsrc(Java Resources)パッケージに配置できます。コンパイルプロセスの場合、struts.xmlファイルがROOT / WEB-INF/classesディレクトリ内に生成されます。

同じエラーが何度も発生する場合は、支柱の動作を確認してください。アプリケーションのデプロイされたパスを確認すると、必要なものを見つけることができます。(struts.xmlファイル)

于 2014-04-10T09:42:20.997 に答える