0

私は最近、少し奇妙なことに直面しました.Eclipseを使用してTomcatによってコンパイルおよびデプロイされたときに、WARプロジェクトがバイナリバージョンのクラスを含む必要があるフォルダWEB-INF/classesに気付きました.MyClass.class、実際には.classと.classの両方を含む私のクラスの .java 拡張子。より明確に、Web プロジェクトをコンパイルして実行すると、Aclass.java があり、取得した場合は WEB-INF/classes に Aclass.java と Aclass.class があります。

私はEclipse Indigoを使用しています/Maven2.0で管理しています

4

2 に答える 2

2

私の場合、これは Eclipse が my の設定を適切に尊重していないことが原因でしたpom.xml。Eclipse は、pom.xml一致するように自分自身を読み取って構成しようとします。直接は流れません。pom.xml

Eclipse の設定を手動で微調整する必要がありました。具体的には、[プロジェクト] > [展開アセンブリ] の下で、[ソース] 列と [展開パス] 列がソース フォルダーの 1 つを WEB-INF/classes にマッピングしていないことを確認します。

于 2014-11-03T11:24:40.030 に答える
0

ソースで「.war」をエクスポートできます。おそらくそれがあなたの状況で起こっていることです。プロジェクトを「右クリック」して「エクスポート」>「戦争」を選択すると、生成される戦争に関する他の詳細の中で、「エクスポートソース」を「選択解除」できます。

あなたのMavenには、おそらくソースファイルを含めるために「ポイント」する詳細がいくつかあります(たとえば、この質問では、ソースファイルを含める方法が示されています: How to generate a WAR with the source code in Maven?場合は、それらを削除する必要があります生成された WAR にソース ファイルは必要ありません)。


Java ソース ファイルを含まない pom.xml の「構成」部分の抜粋:

<configuration>
    <classifier>dev</classifier>
    <webappDirectory>${project.build.directory}/${project.build.finalName}-dev</webappDirectory>
    <webResources>
       <resource>
          <directory>src/env/dev</directory>
             <includes>
                <include>**/*.properties</include>                                   
                <include>**/*.xml</include>
                <include>**/*.css</include>
                <include>**/*.html</include>                             
             </includes>
        </resource>
     </webResources>
</configuration>
于 2013-07-04T17:55:59.150 に答える