spring boot项目发布tomcat容器和maven的私有仓库引用
2018-04-04 17:05
901 查看
接触了一段时间的docker和spring boot后就抛弃了tomcat,前段时间做了个控制服务器功能,但是docker的特性不允许项目直接使用系统的指令,又被迫用起了tomcat。
spring boot 和docker是一对了,但是spring boot和tomcat就有点扯淡了:
步骤:
1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式;
2.修改pom.xml文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!-- 打成war包时名子 -->
<warName>demo1111</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>3.修改spring boot 启动类
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}基本都木有什么问题了。
---------------------------------------------------------------------------------------------------------------
Error:(8, 8) java: 无法访问org.springframework.web.WebApplicationInitializer
找不到org.springframework.web.WebApplicationInitializer的类文件缺少web<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>---------------------------------------------------------------------------------------------------------------
但是,为什么会用spring boot呢,我看上的不单单它的部署简单,最看重的是它有个main方法!!!
但是spring boot 放到tomcat就有个坑,就是main方法貌似没调用。。。
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Demo333Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}网上的写法是这样子的,但你要调的方法不能放在main里面,因为木有被调用,那只能放到configure里面~~
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//startNetty();
return application.sources(Demo333Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
自己写了几个jar包,导入项目中,在本机调试没问题,但是项目mvn打包就出问题了。就算打包没事,但在运行tomcat的时候就找不到jar包。。。
又搭起maven私有仓库来了。。。点击打开链接自己参考一下,不想自己搭的会,貌似还可以直接连本地仓库,但我以前貌似试过不行。
把那些包放进仓库后在pom.xml中引用。
在project标签中加
<repositories>
<repository>
<id>ne
b94a
xus</id>
<name>nexus Repository</name>
<url>http://<私有仓库ip>/nexus/content/groups/public/</url>
</repository>
</repositories>在dependencies中添加自己的jar包
<dependency>
<groupId>backjar</groupId>
<artifactId>backjar</artifactId>
<version>1.0</version>
</dependency>问题又来了,如果是你在项目中没有导入本地的jar 包时,你会发现pom文件看上去貌似正常导入了,但是该有的引用却没有,所有本地项目导入jar还是要有的,就当pom只是给mvn打包时给项目打包时用的吧。
spring boot 和docker是一对了,但是spring boot和tomcat就有点扯淡了:
步骤:
1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式;
2.修改pom.xml文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<!-- 打成war包时名子 -->
<warName>demo1111</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>3.修改spring boot 启动类
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}基本都木有什么问题了。
---------------------------------------------------------------------------------------------------------------
Error:(8, 8) java: 无法访问org.springframework.web.WebApplicationInitializer
找不到org.springframework.web.WebApplicationInitializer的类文件缺少web<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>---------------------------------------------------------------------------------------------------------------
但是,为什么会用spring boot呢,我看上的不单单它的部署简单,最看重的是它有个main方法!!!
但是spring boot 放到tomcat就有个坑,就是main方法貌似没调用。。。
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Demo333Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}网上的写法是这样子的,但你要调的方法不能放在main里面,因为木有被调用,那只能放到configure里面~~
@SpringBootApplication
public class Demo333Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//startNetty();
return application.sources(Demo333Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Demo333Application.class, args);
}
}-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
自己写了几个jar包,导入项目中,在本机调试没问题,但是项目mvn打包就出问题了。就算打包没事,但在运行tomcat的时候就找不到jar包。。。
又搭起maven私有仓库来了。。。点击打开链接自己参考一下,不想自己搭的会,貌似还可以直接连本地仓库,但我以前貌似试过不行。
把那些包放进仓库后在pom.xml中引用。
在project标签中加
<repositories>
<repository>
<id>ne
b94a
xus</id>
<name>nexus Repository</name>
<url>http://<私有仓库ip>/nexus/content/groups/public/</url>
</repository>
</repositories>在dependencies中添加自己的jar包
<dependency>
<groupId>backjar</groupId>
<artifactId>backjar</artifactId>
<version>1.0</version>
</dependency>问题又来了,如果是你在项目中没有导入本地的jar 包时,你会发现pom文件看上去貌似正常导入了,但是该有的引用却没有,所有本地项目导入jar还是要有的,就当pom只是给mvn打包时给项目打包时用的吧。
相关文章推荐
- 把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
- spring-boot项目按照平常的web项目一样发布到tomcat容器下
- IDEA上创建 Maven SpringBoot项目发布到Tomcat
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
- springboot项目maven打包成dockerImage推送到私有仓库dockerhub上
- Spring Boot---(9)SpringBoot项目发布到docker的tomcat容器
- 把spring-boot项目部署到tomcat容器中
- 把spring-boot项目部署到tomcat容器中
- 通过maven将springboot项目发布为jar包
- 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中
- 如何把spring boot项目部署到tomcat容器中
- spring-boot项目启动失败的一种解决办法:自带的tomcat容器切换成jetty容器
- Spring Boot 使用Jar打包发布, 并使用 Embedded Jetty/Tomcat 容器
- intellij下将springboot项目打成war包发布到远程tomcat服务器上
- 把spring-boot项目部署到tomcat容器中
- Spring Boot 项目发布到 Tomcat 服务器的操作步骤
- intellij下将springboot项目打成war包发布到远程tomcat服务器上
- 把spring-boot项目部署到tomcat容器中
- maven打包排除spring-boot内嵌tomcat容器依赖jar