精华内容
下载资源
问答
  • Java远程调试

    2021-02-27 20:03:44
    JDWP的全称是Java Debug Wire Protocol,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的... 在运行Java项目的远程服务器上的运行脚本中加入以下设置参数:java -Xms700m -Xmx700m -Xdebug -ser...

    JDWP的全称是Java Debug Wire Protocol,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。其核心API已经包含在JDK中。

    一. 普通Java项目的远程调试(无需运行在企业级容器中的项目)

    1. 在运行Java项目的远程服务器上的运行脚本中加入以下设置参数:

    java -Xms700m -Xmx700m -Xdebug -server -Xrunjdwp:transport=dt_socket,server=y,address=9527 com.imop.webt.gameserver.GameServer

    java   -Xms700m -Xmx700m -Xdebug -server -Xrunjdwp:transport=dt_socket,server=y,address=9527-jarcom.imop.webt.gameserver.GameServer

    红色部分参数为与远程调试相关的参数

    开放9527端口

    2. 在本地的eclipse中 Debug(小蜘蛛图标)>Debug Configuration...>Remote Java Application>New下创建一个远程调试的项目并设置相关参数

    a8d20a1f036d05ef62c85e1b0c816b80.png

    并在需要debug的地方打断点。

    二. Web项目(或需要运行在企业级容器中的项目)

    1. 在远程服务器的运行的Web容器的启动脚本中加入以下配置(以Resin为例子),将Java项目部署到容器中,启动容器服务器。

    Resion——————————————————————————————————————————————————————

    set JAVA_HOME=C:/Program Files/Java/jdk1.6.0_16

    set RESIN_HOME=D:/resin-2.1.17

    set PATH=%JAVA_HOME%/bin;%PATH%;%RESIN_HOME%/bin

    httpd.exe -Xdebug -Xnoagent

    -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9527

    或者在resin.conf中设置

    -Xdebug

    红色部分为与远程调试相关的配置。

    tomcat——————————————————————————————————————————————————————

    a、Linux中配置tomcat在catalina.sh中添加如下

    CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"(不要换行,要在同一行)

    b、Window中修改 catalina,bat文件,添加:

    Set  “CATALINA_OPTS=-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

    如图:

    4f4703408a80ed1fece08a58e00bca13.png

    参数说明:

    -Xdebug                              : 启用调试模式

    -Xrunjdwp  : 加载JVM的JPDA参考实现库

    transport=dt_socket           :Socket连接,可选dt_shmem 通过共享内存的方式连接到调试服务器

    address=8000                     :调试服务器监听的端口

    server=y                             : 是否是服务器端,n为客户端

    suspend=n                         : 启动过程是否加载暂停,y为启动时暂停,方便调试启动过程

    2. 在本地的eclipse中添加相关远程调试设置参数(与前面的配置相同)

    如果要在本地看到输入输出(read and system.out.println)的结果显示,按F5加入控制

    展开全文
  • JAVA远程调试

    2021-02-12 21:44:33
    1、远程端启动必须添加jvm参数-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}其中debug_port为自定义的调试端口2、本地连接远程服务器debug端口打开Intellij IDEA,在顶部靠右的...

    1、远程端启动必须添加jvm参数

    -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}

    其中debug_port为自定义的调试端口

    2、

    本地连接远程服务器debug端口

    打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostname,port为上一步指定的debug_port,本例是5555

    879cdc83a36cc99d20395b494a906637.png

    然后点击Apply,最后点击OK即可

    启动debug模式

    现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote的名字,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功过了。

    89cadd877749dab6c731f4765f5f8959.png

    设置断点,开始调试

    远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:

    2da48fe4633043c923b6c16c0d306ac2.png

    如图中所示,如果断点内有√,则表示选取的断点正确。

    现在在本地发送一个到远程服务器的请求,看本地控制台的bug界面,划到debugger这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。

    ad402d1dc30b8c4b59559b775f6412ab.png

    762226cf960f54d2885d16a832a9e905.png

    新增tomcat开启远程调试

    tomcat已提供相关功能,需要在catalina.sh中修改一下ip+port(远程服务的ip地址和调试端口)即可,

    d6f2b681bf6281079c766c0e3aa3a57b.png

    启动方式为

    ./catalina.sh  jpda start

    展开全文
  • java远程文件操作

    2021-02-12 20:09:57
    有时在项目中,会有专门的文件服务器(windows),这个时候我们需要对文件进行操作时,就不能像操作本地文件那样操作文件服务器的文件。这时候就可以用SmbFile来操作了。首先添加jar包,maven中添加如下代码:...

    有时在项目中,会有专门的文件服务器(windows),这个时候我们需要对文件进行操作时,就不能像操作本地文件那样操作文件服务器的文件。这时候就可以用SmbFile来操作了。

    首先添加jar包,maven中添加如下代码:

    jcifs

    jcifs

    1.3.17

    一般通过文件服务器操作都需要账号密码,这时候需要设置下最基本的设置,

    public static final String fileRoot = "smb://remotename:remotepassword@";

    public InputStream getFile(String path) throws IOException {

    SmbFile smbFile = new SmbFile(fileRoot+path);

    return smbFile.getInputStream();

    }

    public static void smbGet1(String remoteUrl) throws IOException {

    SmbFile smbFile = new SmbFile(remoteUrl);

    int length = smbFile.getContentLength(); // 得到文件的大小

    byte buffer[] = new byte [length];

    SmbFileInputStream in = new SmbFileInputStream(smbFile);

    // 建立smb文件输入流

    while ((in.read(buffer)) != - 1 ) {

    System.out.write(buffer);

    System.out.println(buffer.length);

    }

    in.close();

    }

    public static List getAttachmentFiles(String remoteDirectory)

    {

    List attachmentPOs = new ArrayList();

    try {

    SmbFile file = new SmbFile(fileRoot + remoteDirectory);

    String[] files = file.list();

    for(String name : files){

    AttachmentPO AttachmentPO = new AttachmentPO();

    AttachmentPO.setName(name);

    AttachmentPO.setFile_path(remoteDirectory + name);

    AttachmentPO.setRef_type(WikiConsts.ATTACHMENT_TYPE_DOWNLOAD);

    attachmentPOs.add(AttachmentPO);

    }

    } catch (MalformedURLException e) {

    logger.error("get SmbFile by directory return wrong, the remoteDirectory is" + remoteDirectory);

    } catch (SmbException e) {

    logger.error("get SmbFiles under directory return wrong, the remoteDirectory is" + remoteDirectory);

    }

    return attachmentPOs;

    }

    其它的一些操作方法和本地操作文件方法没什么大的区别,可以自行地研究这个SmbFile类里的方法。

    展开全文
  • java编程实现mysql数据库远程连接的简单示例本文包括两部分:一、设置mysql可以远程访问二、java...javadbpwd目标:使用用户'javadbuser'可以远程访问数据库'javadb'以下步骤尽量在命令行完成,在phpMyAdmin进行用...

    java编程实现mysql数据库远程连接的简单示例

    本文包括两部分:

    一、设置mysql可以远程访问

    二、java编程实现远程数据库连接

    一、设置mysql可以远程访问

    环境参数:

    MySQL Server 5.0

    数据库:javadb

    用户名:javadbuser

    密码:javadbpwd

    目标:

    使用用户'javadbuser'可以远程访问数据库'javadb'

    以下步骤尽量在命令行完成,在phpMyAdmin进行用户赋权有时不起作用。

    //进入mysql/bin目录

    C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin

    //使用root登录mysql

    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p

    Enter password: ************

    Welcome to the MySQL monitor.  Commands end with ; or \g.

    Your MySQL connection id is 29 to server version: 5.0.22-community-nt

    //对数据库'mysql'进行操作

    mysql> use mysql

    Database changed

    //查询user表信息

    mysql> select user,host from user;

    +------------+-----------+

    | user       | host      |

    +------------+-----------+

    | javadbuser | localhost |

    | root       | localhost |

    +------------+-----------+

    2 rows in set (0.00 sec)

    //更改用户'javadbuser'可以登录的host值为任意主机'%'

    mysql> update user set host='%' where user='javadbuser';

    mysql> flush privileges;

    //再次查询user表信息,javadbuser的host值已改为'%'(任意主机)

    mysql> select user,host from user;

    +------------+-----------+

    | user       | host      |

    +------------+-----------+

    | javadbuser | %         |

    | root       | localhost |

    +------------+-----------+

    2 rows in set (0.00 sec)

    //授权用户'javadbuser'和密码'javadbpwd'在任意主机都可以连接到数据库'javadb'

    //数据库'javadb'、用户'javadbuser'和密码'javadbpwd'都已事先建好

    //mysql命令不区分大小写

    mysql> GRANT ALL PRIVILEGES ON  `javadb`.* TO  'javadbuser'@'%' IDENTIFIED BY 'javadbpwd'  WITH GRANT OPTION ;

    mysql> flush privileges;

    //使用php程序检测是否可以远程连接数据库'javadb'

    /*

    先在数据库'javadb'建张表'atb'

    //字段:

    id,int(12)

    info,varchar(20)

    //记录:

    id info

    1  OK

    2  OKK

    */

    //conn.php

    mysql_connect("192.168.1.2:3306", "javadbuser", "javadbpwd") or

    die("Could not connect: " . mysql_error());

    mysql_select_db("javadb");

    $result = mysql_query("SELECT id,info FROM atb");

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

    printf ("ID: %s Info: %s
    ", $row["id"], $row["info"]);

    }

    mysql_free_result($result);?>

    /*正常连接后显示的结果:

    ID: 1 Info: OK

    ID: 2 Info: OKK

    */

    以上过程说明使用用户"javadbuser"远程连接mysql数据库'javadb'已经成功,可以在java客户端上进行测试了。

    二、java编程实现远程数据库连接

    import java.sql.*;

    public class BaseMySQL {

    public static void main(String []arg){

    String driver = "com.mysql.jdbc.Driver";

    String url = "jdbc:MySQL://192.168.1.2:3306/javadb";

    String username = "javadbuser";

    String password = "javadbpwd";

    try{

    Class.forName(driver);

    Connection conn = DriverManager.getConnection(url,username,password);

    Statement statement = conn.createStatement();

    String sql = "select * from atb ";

    System.out.println("######################");

    //获取数据

    ResultSet rs = statement.executeQuery(sql);

    while(rs.next()){

    System.out.println(rs.getString("id")+"\t"+rs.getString("info"));

    }

    //关闭连接

    rs.close();

    conn.close();

    }catch(ClassNotFoundException e){

    System.out.println("数据库驱动未找到");

    e.printStackTrace();

    }catch(SQLException e){

    e.printStackTrace();

    }catch(Exception e){

    e.printStackTrace();

    }

    }

    }/*运行结果: ###################### 1 OK 2 OKK */ ycjnx,2014-9-8(完)

    展开全文
  • Java远程执行Shell命令

    2021-02-28 12:51:17
     //从远程获取文件 e) 获取Shell命令执行结果: InputStream stderr = new StreamGobbler(session.getStderr()); InputStream in = new StreamGobbler(session.getStdout()); 1 privateString processStdErr...
  • Java远程访问共享目录

    2021-03-06 03:57:58
    /*** Description: 从本地上传文件到共享目录* @Version1.0 Sep 25, 2009 3:49:00 PM by chb 创建* @param remoteUrl 共享文件目录* @param localFilePath 本地文件绝对路径*/public static void smbPut(String ...
  • JAVA实现远程监控

    2021-03-04 01:25:07
    这原是好的】——耶利米哀歌3:26 感激G---------------------------------------------------------附件如下:话不多说,先给出一张截图 这几天在给自己的通信项目不断的添加功能,今天 “算是” 实现了一个远程监控...
  • Java远程下载zip文件

    2021-10-12 00:24:03
    在进行C站的Java认证C4的模拟考试中遇到了一道关于远程下载zip文件并解压到指定目录中,再对解压后的文件进行单独的加密的题目,在模拟考试结束后又对内容进行一次实现,在实现的过程百度了很多的内容,但是很少能够...
  • //首先要下载...import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import jav...
  • JAVA实现远程文件读取

    千次阅读 2021-02-12 18:20:36
    JAVA实现远程文件读取客户端=============================================import java.io.*;import java.net.*;public class RemoteFileClient{protected String hostIp;protected int hostPort;protected ...
  • package ...import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.net.URLConnection;/*** @Title: Imag...
  • 远程执行 Java 代码

    2021-03-13 01:18:42
    本文是《深入理解 Java 虚拟机》中的一个实战,看完后照着敲的代码,简单地封装了一个 Servlet, 只需引入 Maven 并配置一下这个 Servlet 就可以实现浏览器端上传 Java 代码,远程动态执行。关于书上的这部分代码,就...
  • java获取远程图片

    2021-03-17 11:42:40
    import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;import java.net.HttpURLConnection;import java.net.URL;public class GetImageTest {p...
  • JAVA远程调试方法

    2021-02-12 21:44:33
    首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。JAVA的调试方法如下:1。首先支持JVM,并设置参数,...
  • Java远程debug详解

    2021-03-18 00:45:09
    一、远程debug原理Java远程调试的原理是两个JVM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。被debug的机器需要开启debug模式,debug使用的客户端可以是eclipse,总之我...
  • import com.jcraft.jsch.*; import java.awt.*; import javax.swing.*; import java.io.*; public class ScpFrom{ public static void main(String[] arg){ if(arg.length!=2){ System.err.pri...
  • 我正在尝试创建一个Kafka群集以将消息发送到远程控制。我已经按照此处所述配置了所有内容。我正在Linuxred hat机器上运行它,并且使用shell可以正常工作。在quickstartWindows计算机上按照教程中的说明编写Java代码...
  • $CATALINA_HOME/bin/catalina.sh jpda start 2 使用 JAVA_OPTS / CATALINA_OPTS 如果你是在 Windows 系统把 Tomcat 作为系统服务来运行的,直接打开 Apache Tomcat 的属性对话框,在Java Tab也添加启动参数: -...
  • 远程访问对象java实现

    2021-03-15 13:41:25
    服务端:定义远程接口:package com.my.rmi;import java.rmi.Remote;import java.rmi.RemoteException;public interface Impl extends Remote{public String name() throws RemoteException;}实现接口:package ...
  • /*** 下载远程文件并保存到本地* @param remoteFilePath 远程文件路径* @param localFilePath 本地文件路径(带文件名)*/public void downloadFile(String remoteFilePath, String localFilePath){URL urlfile = null...
  • 最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记。此种连接方法中有考虑到并发问题,在进行创建FTP连接的时候将每一个连接...import java.io.BufferedInputStream;import java.io.File;import jav...
  • 如安在Java中完成遥程方式挪用经坤、郭镇、赵伟一、Java中的远程方式挪用远程办法调用(Remote Method Invocation, RMI)是Java1.1引进的散布式对象软件包,www.hirain.orghttp://www.hirain.org/,它的呈现简化了在少...
  • java项目远程调试

    2021-02-27 16:51:31
    服务器端以下启动方式2选1# 方式1java-agentlib:jdwp=transport=dt_socket,address=2020,server=y,suspend=y -jar xxx.jar# 方式2java-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=2020 -jar ...
  • 这篇文章主要介绍了java进行远程部署与调试及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下远程调试,特别是当你在本地开发的时候,你需要调试服务器...
  • 【实例简介】本人参赛作品,纯java实现多台电脑间的远程桌面连接。【实例截图】【核心代码】javaSE实现远程桌面└── javaSE实现远程桌面├── 1.程序介绍│ └── AIScreen介绍.pptx├── 2.可运行程序│ ├─...
  • } } 本文标题:Java实现远程连接Linux并执行命令 本文链接:https://www.kyjszj.com/htzq/207.html 作者授权:除特别说明外,本文由 开源技术之家 原创编译并授权 开源技术之家 刊载发布。 版权声明:本文不...
  • 文章目录使用java代码进行远程kafka集群的生产者写消息(Produce)操作1、修改kafka配置2、搭建maven并编写java代码(1)在pom文件中映入kafka相关依赖(2)编写java代码(3)运行代码(4)远程服务端验证是否produce...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 488,104
精华内容 195,241
关键字:

java远程消息

java 订阅