我正在使用嵌入式tomcat运行我的web应用程序。我正在使用tomcat7-maven-plugin (exec-war-mojo.html)将tomcat打包到jar文件中。我使用的插件配置是:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.3-SNAPSHOT</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>exec-war-only</goal>
</goals>
</execution>
</executions>
<configuration>
<buildDirectory>${project.basedir}/</buildDirectory>
<path>/</path>
<finalName>${project.artifactId}.jar</finalName>
<enableNaming>true</enableNaming>
<mainClass>com.main.Main</mainClass>
</configuration>
</plugin>问题是,当我构建.jar文件时,它不包含由属性指向的文件,因此我无法运行.jar文件,因为它正在查找Main.class文件,并且得到了错误。
Error: Could not find or load main class com.main.Main如果不提及<mainClass>属性,则会获取默认值,即org.apache.tomcat.maven.runner.Tomcat7RunnerCli,一切都运行良好。
发布于 2016-02-10 22:48:43
尝试通过“外部性”将包含主类的工件添加为依赖项,如下所示:
<configuration>
...
<mainClass>com.main.Main</mainClass>
<extraDependencies>
<dependency>
<groupId>com.main</groupId>
<artifactId>yer-artifact</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</extraDependencies>
</configuration>注意,您还必须显式地添加任何传递依赖项。
https://stackoverflow.com/questions/32955329
复制相似问题