0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WARファイルをインポートするとフォルダ構成が変わってしまう→未解決

Last updated at Posted at 2025-01-11

何が起きたか

EclipseでJavaのWebアプリを作成中です。

出来上がったアプリ(動的プロジェクトで作成)はこんなフォルダ構成です。

【フォルダ構成】
TestWeb(コンテキスト・ルート。プロジェクト名。)
∟.settings
∟build
∟src
   ∟test
     ∟ ・ListServlet.java(このファイルをサーバーで実行)
      ・UserDao.java
      ・DBAccess.java
∟WebContent
  ∟META-INF
  ∟web
     ∟・list.jsp
  ∟WEB-INF
     ∟lib
        ∟・mysql-connector-j-9.1.0.jar
     ∟・ web.xml

これをWARファイルとしてローカルPCにエクスポートしました。
(Eclipse上でTestWebフォルダを右クリック→エクスポート→WARファイル)
(ファイル名は TestWeb.war)

その後、EclipseのTestWebプロジェクトを削除し(ローカルPCに残っている同プロジェクトも削除し)
先ほどのTestWeb.warをEclipseへインポートしました。

すると、フォルダ構成が下記のように変わっていました。

【フォルダ構成】
TestWeb(コンテキスト・ルート。プロジェクト名。)
∟.settings
∟build
∟src
   ∟main
      ∟java
         ∟test
           ∟ ・ListServlet.java(このファイルをサーバーで実行)
            ・UserDao.java
            ・DBAccess.java
      ∟webapp
         ∟META-INF
        ∟web
           ∟・list.jsp
        ∟WEB-INF
          ∟lib
             ∟・mysql-connector-j-9.1.0.jar
          ∟・ web.xml

変更されてしまったポイントは以下のとおりです。

  • 変更前:TestWeb>src>test>各javaファイル
    変更後:TestWeb>src>main>java>test>各javaファイル
    →勝手に「>main>java」が挟まってきた。

  • 変更前:TestWeb>WebContent
    変更後:TestWeb>src>main>webapp
    →フォルダ名「WebContent」が勝手に「webapp」に変更された。
    →さらに、TestWeb直下から「TestWeb>src>main」配下に移動された。

なんでー!!

解決方法探し→未解決

Eclipseで動的プロジェクトを新規作成した際に、デフォルトではソースの配置場所が「コンテキストルート名>src>main>java」になっている(私のEclipseはそうなっている)ので、このデフォルトの設定が影響しているのだろうとは予想するのですが、「warファイル フォルダ構成 変わる」等でググっても適当な答えを見つけられませんでした。

今は謎のまま、インポート後に元のフォルダ構成になるよう手作業で修正しています。

(手修正の内容:
・EclipseのGUI上で、作成済javaファイルたちが入ったtestフォルダを TestWeb>src直下に移動
・フォルダwebappをWebContentに名前変更しTestWeb直下に移動
・不要なフォルダ(src直下の"main>java")を削除
・TestWeb右クリックで[プロパティ>Javaのビルド・パス]の[TestWeb/src/main/java]を[除去]。続いて[フォルダーの追加]→[src」を選択して適用。
・最後にTestWeb右クリックで「リフレッシュ」

フォルダ構成を勝手に変更されずにWARファイルをエクスポート/インポートできる方法が見つかったら、ここに追記します。(2025/1/11(土))

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?