Невозможно развернуть сервер Tomcat с загрузкой Spring
Я пытался развернуть свой сервер Tomcat в течение нескольких дней с помощью весенней загрузки, но я не могу до конца жизни понять, что я делаю неправильно с моей конфигурацией. Я просмотрел несколько предложений в Интернете, но до сих пор не могу понять, что я делаю неправильно. У меня есть ощущение, что это может быть что-то маленькое, но на данный момент, я не думаю, что я пойду с проблемой
У меня есть файл конфигурации maven, и я пытаюсь использовать подключаемый модуль apache tomcat maven для развертывания моего сервера.
http://maven.apache.org/xsd/maven-4.0.0.xsd "> 4.0.0
<groupId>com.blah.maven</groupId> <artifactId>blah</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>foo</name> <properties> <springframework.boot.version>1.5.9.RELEASE</springframework.boot.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- <scope>provided</scope> --> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://localhost:8080/manager/text</url> <path>/blah</path> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${springframework.boot.version}</version> </plugin> </plugins> </build> </project>
И в моем проекте у меня есть класс приложения
package foo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.web.WebApplicationInitializer;
@SpringBootApplication
public class Application extends SpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String [] args){
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
return application.sources(Application.class);
}
}
Вот скриншот моего стека
[ОШИБКА] Не удалось выполнить цель org.apache.tomcat.maven:tomcat7-maven-plugin:2.2: развертывание (default-cli) в проекте whot: Невозможно вызвать диспетчер Tomcat: соединение отклонено (соединение отклонено) -> [Помощь 1] org.apache.maven.lifecycle.LifecycleExecutionException: не удалось выполнить цель org.apache.tomcat.maven:tomcat7-maven-plugin:2.2: развернуть (default-cli) в проекте whot: не удается вызвать менеджер Tomcat в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject:uloderoo org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) в org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) в org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) в org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) в org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) в org.apache.maven.cli.MavenCli.doMain(MavenCli.java).:288) в org.apache.maven.cli.MavenCli.main(MavenCli.java:199) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:498) в org.codehaus.plexus.classworlds.launcher.Luncher.launcher.Luncher 289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) в org.codehaus.classworlds.Launcher.main(Launcher.java:47) Причина: org.apache.maven.plugin.MojoExecutionException: Невозможно вызвать менеджер Tomcat в org.apache.tomcat.maven.plugin.tomcat7.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141) в org.apache.tomcat.maven.plugin.tomcat7.AbstractWarCatalinaMojo.execute(AbstractMache.jajat).maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) в org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) ... еще 21 причина: соединение java.net.Con Соединение отклонено (Соединение отклонено) в java.net.PlainSocketImpl.socketConnect(собственный метод) в java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) в java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPl) java).net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) в Java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) в java.net.Socket.connect(Socket.java:589) в org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory) atj org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178) в org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionapimp..p.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610) по адресу org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445) по адресу org.apache.http.impl.client.TlientHTtt. Java: 863) в org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) в org.apache.tomcat.maven.common.deployer.TomcatManager.invoke(TomcatManager.java:742).apache.tomcat.maven.common.deployer.TomcatManager.deployImpl(TomcatManager.java:705) в org.apache.tomcat.maven.common.deployer.TomcatManager.deploy(TomcatManager.java:388) на org.apache.tomcat.maven.plugin.tomcat7.deploy.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85) на org.apache.tomlu.ma deploy.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:82) в org.apache.tomcat.maven.plugin.tomcat7.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:132) ... еще 24 [ОШИБКА] [ОШИБКА] [ОШИБКА] Более подробную информацию об ошибках и возможных решениях см. в следующих статьях: [ОШИБКА] [Помощь 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
2 ответа
Это был полный пердеж с моей стороны. Я пытался развернуть приложение (mvn tomcat: deploy), фактически не запустив экземпляр tomcat. Что я действительно хотел сделать, так это создать и запустить экземпляр tomcat в моем проекте maven (mvn tomcat: run).
Не могу поверить, что я потратил довольно много времени на что-то тривиальное. Ну что ж, жить и учиться.
Вероятно, вам нужно настроить аутентификацию Tomcat.
Следуйте этому примеру с https://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat
И на стороне Maven: