java - 在使用 Java 动态 Web 项目时在 Maven-Shade 插件中定义 mainClass
问题描述
我在 Java 动态 Web 项目中使用 maven-shade-plugin。以下代码段显示了用法:
<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>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>${mainClass}</mainClass>
</transformer>
</transformers>
<createDependencyReducedPom>false</createDependencyReducedPom>
<finalName>${project.artifactId}</finalName>
</configuration>
</execution>
</executions>
<configuration>
<finalName>${project.artifactId}</finalName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</plugin>
在 pom.xml 的属性部分中,我现在必须定义 mainClass:
<properties>
<mainClass>com.mycompany.ClassName</mainClass>
</properties>
我必须在里面放什么类名才能摆脱“找不到清单属性”的消息。? 我知道它是一个网络项目,所以我没有一个包含主方法的类。webcontainer 源中应该有一个带有 main-Method 的类。有没有一种简单的方法可以找到这个类的名称?
非常感谢。
亚历克斯
解决方案
推荐阅读
- angular - 不能在单个页面的多个地方使用一个模块
- android - 如何使用 xamarin android mvvmcross 创建回收站视图?
- .net - 使用 Jenkins 自动化 TestStack White 编码的 UI 测试
- c# - 使用 Windows.Media.Ocr 是否仅支持 UWP 应用?
- android - 我的自定义组件的代码隐藏没有运行
- ruby-on-rails - 在 Rails 应用程序的查询运行时更改表名
- prestashop - 在管理控制器 Prestashop 中保存数据后重定向用户
- conv-neural-network - 在 YOLOv3 中计算所有三个尺度的损失
- c# - mono asp.net System.Web.Compilation.ParseException 父类型不是从 System.Web.UI.Page 派生的
- javascript - V-model 和 TinyMCE 不能一起工作