RMI を使用する Web アプリがあるため、RMI インターフェイス クラスは含まれていますが、その実装は含まれていません。インターフェイス定義が 2 つの場所で重複するのを避けるために、RMI サーバー コードを Web アプリの Eclipse プロジェクトに保持しようとしています。ただし、RMI サーバー クラスには main() メソッドがあるため、war ファイルから除外する必要があります。build.xml の jar タスクと .spec を使用して、RMI サーバー デーモンの RPM を作成します。
war タスクで excludes 句を使用してみました。その後、クラスで、
<war webxml="${web.dir}/WEB-INF/web.xml" destfile="${dist.dir}/${ant.project.name}.war">
<classes dir="${build}" excludes="**/RMIServer.class" />
<fileset dir="${web.dir}" />
<manifest>
<attribute name="Built-Date" value="${TODAY}" />
<attribute name="Built-By" value="${user.name}" />
</manifest>
</war>
次に、ファイルセットで:
<war webxml="${web.dir}/WEB-INF/web.xml" destfile="${dist.dir}/${ant.project.name}.war">
<classes dir="${build}" />
<fileset dir="${web.dir}" >
<exclude name="**/RMIServer*.class"/>
</fileset>
<manifest>
<attribute name="Built-Date" value="${TODAY}" />
<attribute name="Built-By" value="${user.name}" />
</manifest>
</war>
しかし、私はそれを機能させることができませんでした-サーバークラスはまだ戦争/WEB-INF/classes/...にあります
どうすればこれを達成できますか?それとも、単一のプロジェクトのこの目標は単に賢明ではありませんか?