一、 打war包
- 主:nacos-all
- 次:nacos-console
源码如下:
package com.alibaba.nacos;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* Nacos starter.
*
* @author nacos
*/
@SpringBootApplication(scanBasePackages = {"com.alibaba.nacos"})
@ServletComponentScan
@EnableScheduling
public class Nacos extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Nacos.class);
}
public static void main(String[] args) {
SpringApplication.run(Nacos.class, args);
}
}
主pom:nacos-all
<properties>
<javax.servlet-api.version>4.0.1</javax.servlet-api.version>
<maven-war-plugin.version>2.2</maven-war-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet-api.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
次pom:nacos-console
<packaging>war</packaging>
<profiles>
<profile>
<id>release-nacos</id>
<build>
<finalName>nacos-server</finalName>
<plugins>
<plugin>
<!-- <artifactId>maven-jar-plugin</artifactId>-->
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--如果项目中没有web.xml文件下构建war-->
<failOnMissingWebXml>false</failOnMissingWebXml>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
二、配置启动参数
nacos默认集群启动,导致NoSuchBeanDefinitionException
"D:\development\tomcat\apache-tomcat-9.0.50 20095\bin\catalina.bat" run
[2021-09-07 06:54:35,206] Artifact nacos-console:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE: "C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc"
Using CATALINA_HOME: "D:\development\tomcat\apache-tomcat-9.0.50 20095"
Using CATALINA_TMPDIR: "D:\development\tomcat\apache-tomcat-9.0.50 20095\temp"
Using JRE_HOME: "D:\development\environment\Java\jdk1.8.0_291"
Using CLASSPATH: "D:\development\tomcat\apache-tomcat-9.0.50 20095\bin\bootstrap.jar;D:\development\tomcat\apache-tomcat-9.0.50 20095\bin\tomcat-juli.jar"
Using CATALINA_OPTS: ""
Connected to the target VM, address: '127.0.0.1:51779', transport: 'socket'
07-Sep-2021 18:54:36.343 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.50
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 28 2021 08:46:44 UTC
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.50.0
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 10
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\development\environment\Java\jdk1.8.0_291\jre
07-Sep-2021 18:54:36.348 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 1.8.0_291-b10
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\development\tomcat\apache-tomcat-9.0.50 20095
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc\conf\logging.properties
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51779,suspend=y,server=n
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -javaagent:C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\captureAgent\debugger-agent.jar
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote=
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=8099
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc\jmxremote.password
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc\jmxremote.access
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1
07-Sep-2021 18:54:36.349 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048
07-Sep-2021 18:54:36.350 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
07-Sep-2021 18:54:36.350 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dignore.endorsed.dirs=
07-Sep-2021 18:54:36.350 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\zhangq\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\31c6a189-9017-45ea-96c4-bbbc441bf0cc
07-Sep-2021 18:54:36.350 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=D:\development\tomcat\apache-tomcat-9.0.50 20095
07-Sep-2021 18:54:36.350 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=D:\development\tomcat\apache-tomcat-9.0.50 20095\temp
07-Sep-2021 18:54:36.387 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:[D:\development\environment\Java\jdk1.8.0_291\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\development\tlq8\bin;D:\development\tlq8\samples\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\software\Git\cmd;D:\software\TortoiseSVN\bin;D:\development\environment\Java\jdk1.8.0_291\bin;D:\development\environment\Java\jdk1.8.0_291\jre\bin;D:\development\maven\apache-maven-3.8.1\bin;D:\development\database\mysql-8.0.25-winx64\bin;C:\Program Files\dotnet\;C:\Program Files (x86)\NetSarang\Xshell 7\;C:\Program Files (x86)\NetSarang\Xftp 7\;c:\ibcp\act\bin;C:\Program Files (x86)\NetSarang\Xmanager 7\;D:\development\environment\Python\Python39\Scripts\;D:\development\environment\Python\Python39\;C:\Users\zhangq\AppData\Local\Microsoft\WindowsApps;;D:\development\AppData\JetBrains\IntelliJ IDEA 2021.1.2\bin;;D:\development\AppData\JetBrains\PyCharm 2021.1.2\bin;;D:\development\AppData\Microsoft VS Code\bin;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能
07-Sep-2021 18:54:36.766 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8848"]
07-Sep-2021 18:54:36.795 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[704]毫秒内初始化
07-Sep-2021 18:54:36.865 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
07-Sep-2021 18:54:36.865 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.50]
07-Sep-2021 18:54:36.873 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8848"]
07-Sep-2021 18:54:36.895 信息 [main] org.apache.catalina.startup.Catalina.start [100]毫秒后服务器启动
Connected to server
[2021-</