我使用嵌入式tomcat来运行我的网络应用程序。我使用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
并且一切正常。
答案 0 :(得分:0)
尝试通过'extraDependencies'添加包含主类的工件作为依赖项,如下所示:
<configuration>
...
<mainClass>com.main.Main</mainClass>
<extraDependencies>
<dependency>
<groupId>com.main</groupId>
<artifactId>yer-artifact</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</extraDependencies>
</configuration>
请注意,您还必须显式添加任何传递依赖项。