maven-shade-pluginを使用して、次のようにプロジェクト ファイル構造を作成しようとしています。
問題は、次の pom 構成が WEB-INF ディレクトリを作成していないことです。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<createDependencyReducedPom>true</createDependencyReducedPom>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.my.package.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
基本的に、web.xml ファイル、クラス、および lib ファイルを、プロジェクトのルートにある WEB-INF というディレクトリにコピーする必要があります。
更新:申し訳ありませんが、間違ったプラグインを pom から元の質問にコピーしました!
更新: pom 宣言からパッケージを追加すると<packaging>war</packaging>
、OQ に従って WEB-INF ファイル構造が完成します。ただし、この宣言では、com
ディレクトリにパッケージが含まれていないため、メイン クラスが見つかりません。
でどのように見えるか<packaging>war</packaging>
:
どのように見えるか: