Java项目部署与远程调试两三事

【开启和进行远程调试】
参考https://blog.csdn.net/WSYW126/article/details/74853680
1、tomcat:配置catalina.sh jpda参数,主要是address
./catalina.sh jpda start

2、springboot
maven插件 or命令行

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=xxxx</jvmArguments>
</configuration>
</plugin>

参数解释:

-Xdebug 
启用调试特性 
-Xrunjdwp 
启用JDWP实现,它包含若干子选项: 
transport=dt_socket 
JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。 
address=XXXX 
JVM在默认在8000端口上监听请求,是指服务器上的。 注:这里前面的ip也可以规定。0.0.0.0接受所有。
server=y 
y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。 
suspend=y 
y表示启动的JVM会暂停等待,直到调试器连接上。 
suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。

然后本地remote debug配置ip 端口号即可

【springboot热部署】
参考https://blog.csdn.net/qq_31868349/article/details/78553901

【tomcat部署多个项目的三种方式】
1、同一端口下多个应用
直接丢进去 或 通过管理页面 或 Host节点中加<Context>
详见https://blog.csdn.net/dreamstar613/article/details/75282962/
2、同一服务器下多个端口
server.xml加Service节点 改5个地方
Service name
<Connector port="8090" 这个改成要开放的。当然租用服务器还要在第三方后台开放端口。
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /> 这行去掉
Engine name
host appBase="webapps"

3、多个tomcat服务器
(1)编辑环境变量:vi /etc/profile
加入以下代码(tomcat路径要配置自己实际的tomcat安装目录)
##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat############
##########second tomcat##########
CATALINA_2_BASE=/usr/local/tomcat_2
CATALINA_2_HOME=/usr/local/tomcat_2
TOMCAT_2_HOME=/usr/local/tomcat_2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
##########second tomcat##########
保存退出。
再输入:source /etc/profile
才能生效
(2)配置bin/catalina.sh

# OS specific support. $var _must_ be set to either true or false.
在下面增加如下代码

export CATALINA_HOME=$CATALINA_2_HOME

export CATALINA_BASE=$CATALINA_2_BASE

(3)改server.xml三个端口

注:linux中 ./ 或sh 都是打开一个新的子shell运行脚本 source才是在当前shell中运行脚本 配置才可生效

【tomcat管理界面】
需改conf/tomcat-users.xml
加入
<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<user username="user" password="password" roles="tomcat,manager-gui,manager-script,admin-gui,admin-script"/>

详见https://blog.csdn.net/xiaochuju526/article/details/78937536

注:tomcat8.X以上需在/webapps/magager/META-INF/context.xml开放ip

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
中间注释掉value节点或者替换为allow="^.*$"

原文地址:https://www.cnblogs.com/feixuefubing/p/10037580.html

时间: 2024-10-10 17:44:12

Java项目部署与远程调试两三事的相关文章

SpringBoot工程+热部署进行远程调试

本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom.xml文件添加配置: <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <config

CloudStack 4.3 源码部署+eclipse远程调试

CloudStack 4.3 源码部署 系统环境 vmware workstation 下创建一个虚拟机 装有Centos6.5  64bit 安装软件 1.yum install git mysql mysql-server mkisofs gcc python MySQL-python openssh-clients wget 2.下载maven 并解压到 /root/maven 目录 3.下载ant 并解压到 /root/ant 目录 4.下载sun jdk 7 并解压到 /root/jd

java项目部署Linux服务器几种启动方式总结经验

一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是jar包,下面小介绍两种包的区别: spring boot既可以打成war发布,也可以找成jar包发布.说一下区别: jar包:直接通过内置tomcat运行,不需要额外安装tomcat.如需修改内置tomcat的配置,只需要在spring boot的配置文件中配置.内置tomcat没有自己的日志输出,全

把我的Java项目部署到Linux系统

以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点点运行tomcat即可.现在想想,简直low到爆. 实习了小半年,自己搞了一个小小的java项目,决定把它部署到新买的Linux服务器上去.顺便提高一下自己的Linux基础. 前期准备 1.一台Linux服务器(centOS7) 2.你的工作台 (mac电脑) 3.项目源码(使用sprintBoot

IDEA创建springboot项目部署到远程Docker

安装IDEA插件安装Docker integration插件,如果没安装,按照下图指引方式安装插件. 配置Docker打开小扳手(setting)找到docker,输入虚拟机ip,不出意外会连接成功的. 新建springboot项目用idea向导新建一个springboot项目web-demo,添加测试类HelloController 编写Dockerfile文件 在项目根目录下新增Dockerfile文件,如果Dockerfile放到了子目录,会造成ADD和COPY指令无法访问打包文件的问题

用GitBash将eclipse的一个Java项目部署到Github上

花了一下午功夫总算是把这个拼图游戏小项目部署到Github上了,用GitBash命令出现的问题很多,原因当然是自己没玩熟,一些说明都是纯英文的,诶. http://blog.csdn.net/pony_maggie/article/details/42201435,这个博客讲的就是针对这个操作的,至于其他clone什么的,暂时用不上.下面是我的依次命令. 先建一个空仓库,默认都None,别慌初始化一个README.md,等上传上去了再add一个. init会初始化一个.git隐藏文件,将这个文件

windows下载的java项目部署到linux的各种解决方案

1.Java是跨平台的,在linux下有问题,主要一是文件读取权限:二检查下系统环境变量设置可正确!.profile JavaWeb_将Windows平台上开发的JavaWeb项目部署到Linux平台上 步骤: 1.在Windows平台上,通过MyEclipse的[File] -> [Export] -> 将项目打包成.war文件: 2.在Windows平台上,删除.war文件中与Linux平台上重复或冲突的.jar文件,一般会在项目的notes文件中说明: 3.通过浏览器访问Linux平台的

解决无法将java项目部署到tomcat中去

前言: project facets java转成web项目 用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个Java工程,将无法在Tomcat中进行部署运行. 方法: 1.找到.project文件,找到里面的<natures>标签,查看是否有下面的代码,没有则复制进去. Xml代码 <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature&

Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器

通常情况下,程序开发完成后部署到线上Linux服务器,可能需要经历打包.将包文件传到服务器.SSH连上服务器.敲命令启动程序等一系列繁琐的步骤.实际上这些步骤都可以通过Maven的一个插件wagon-maven-plugin来自动完成. 配置Linux服务器用户名和密码 为了让wagon-maven-plugin插件能SSH连上Linux服务器,首先需要在Maven的配置文件settings.xml中配置好server的用户名和密码. <servers> <server> <