关于javajdwp的信息

博主:adminadmin 2023-03-17 17:34:09 453

今天给各位分享javajdwp的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

请详细写出Javac和Java两个命令的使用方式

javaac和java两个命令的使用详解:

一、javac命令

javac 用于编译Java文件,格式为:

java [options] [sourcefiles] [@files]

其中:

options:命令行选项;

sourcefiles:一个或多个要编译的源文件;

@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。

有几个比较重要的选项:

-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;

-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;

-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;

需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:

windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;

linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :

二、java命令

java 用于执行程序,格式如下:

java [options] classfile

options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定

三、脚本

如果要敲的命令很长,每次要编译运行的时候都要重新敲一遍,这是一件很痛苦的事情,所以用脚本可以大大方便你的工作量。在linux下用shell脚本,windows下用bat批处理程序。因为是在linux下,我这里只是简单介绍一下shell,关于bat批处理程序的语法自己百度一下,不难。

1. 开头

linux有很多不同的shell,通常使用bash(bourne again shell),程序必须以下面的行开始:

#!/bin/sh

#!用来告诉系统用后面的参数来执行程序,这里使用的是/bin/sh

要使你的脚本能够执行,还必须让这个文件有可执行权限,使用下面命令更改文件权限:

chmod +x filename

2. 注释

以#开始的句子表示注释,一直到这行结束,多写注释有利于以后重新看的时候知道自己在做什么

java jdwp exit error 是什么原因引起的

JNI环境配置有问题把

JDWP读不到JNI 1.2的环境配置 在jvm 的 GetEnv() 方法中 返回了 -2

JDWP 在 AGENT_ERROR_NO_JNI_ENV (183) 中报错 源路径[../../../src/share/back/util.c:820]

如何识别java命令行编译参数

javac

用法:javac 选项 源文件

其中,可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的操作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath 路径 指定查找用户类文件的位置

-cp 路径 指定查找用户类文件的位置

-sourcepath 路径 指定查找输入源文件的位置

-bootclasspath 路径 覆盖引导类文件的位置

-extdirs 目录 覆盖安装的扩展目录的位置

-endorseddirs 目录 覆盖签名的标准路径的位置

-d 目录 指定存放生成的类文件的位置

使用-d参数,如类中定义了包,则编译时会自动生成包, 如:javac -d . helloworld.java

表示在当前目录下编译Helloworld 类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:

-encoding 编码 指定源文件使用的字符编码

-source 版本 提供与指定版本的源兼容性

-target 版本 生成特定 VM 版本的类文件

-version 版本信息

-help 输出标准选项的提要

-X 输出非标准选项的提要

-J标志 直接将 标志 传递给运行时系统

java

用法: java [-选项] 类 [参数...]

(执行一个类)

或者 java [-选项] -jar jar文件 [参数...]

(执行一个jar文件)

其中,可能的选项包括:

-client 选择 "client" VM(ginger547:应该是指Virtual Machine)

-server 选择 "server" VM

-hotspot 与 "client" VM同义 [不赞成]

默认情况的VM是client.

-cp 一个文件夹和zip/jar文件组成的类搜索路径

-classpath 一个文件夹和zip/jar文件组成的类搜索路径

一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表

-D名字=值

设置一个系统属性

-verbose[:class|gc|jni]

使详细输出变的可用

-version 打印产品版本然后退出

-version:值

只运行指定版本

-showversion 打印产品版本后继续

-jre-restrict-search | -jre-no-restrict-search

在版本搜索的时候,包含/排除用户私人的JRE

-? -help 打印帮助信息

-X 打印非标准选项帮助

-ea[:包名...|:类名]

-enableassertions[:包名...|:类名]

使断言可用

-da[:包名...|:类名]

-disableassertions[:包名...|:类名]

是断言不可用

-esa | -enablesystemassertions

使系统级断言可用

-dsa | -disablesystemassertions

使系统级断言不可用

-agentlib:库名[=选项]

加载本地代理库库名,例如. -agentlib:hprof

同时可查看, -agentlib:jdwp=help和 -agentlib:hprof=help

-agentpath:路径名[=选项]

通过全路径名来加载本地代理库

-javaagent:jar路径[=选项]

加载Java编程语言代理,可查看 java.lang.instrument

这个“java错误提示”什么意思

java调用c的程序的时候需要JNI运行环境,但是没有找到运行环境就报这个错了 AGENT_ERROR_NO_JNI_ENV

以下引用他人blog

错误:ERROR: JDWP Unable to get JNI 1.2 environment, jvm-GetEnv() return code = -2

JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]

原因:

原因是:eclipse和jdk1.6的版本冲突 sun的网站上有  目前还没有解决。

解决的办法:

虚拟机是否有一个控制台Console取决于所依赖的平台和虚拟机解析该方法的方式。如果虚拟机是从一个交互式的命令行中启动的,而没有重定向标准输入和输出流,那么虚拟机会自动的连接到键盘作为标准输入,并且把启动虚拟机的地方作为标准输出。如果虚拟机是自动启动的,例如通过后台的一个任务计划,那么典型的情况就是没有Console控制台……。

于是,思考一下我们运行上面程序的地点——Eclipse等集成开发环境,这对于上面描述中的把启动虚拟机的地方作为标准输出来说是不合适的,这里的Console()返回的默认情况下是Null,于是就产生了上面的出错信息。(也许未来Eclipse会有所改进吧)

怎么解决该问题呢?这里提供两条思路给大家(已经实际操作过,可以实现功能的正常运作)

1、使用命令行进行运行,编译可以使用集成开发环境。这样可以完成标准输出。

2、在程序中重定向标准输出到其他的设备或者方式(例如写到文本文件),这样也可以“比较不方便的”完成该功能。不过还有网友的方法是在main函数后面加个System.exit(0);

可以解决这个问题。我试过了。

如何使用 Idea 远程调试 Java 代码

项目的部署方式有在本地搭建服务器进行启动或是debug,或是将项目在远程服务器上面部署。一般如果在本地搭建服务器的时候,可以直接选择启动或是直接debug,但是如果项目部署在远程的服务器上面的时候, 我们该如何进行调试呢?而一些大公司的项目是不需要在本地搭建应用服务器的,为了环境统一,应用服务器都是在远程服务器上面,这时我们就需要用远程debug,通过远程服务器的ip地址和远程开启的debug端口进行调试:

1.首先把远程服务器上面需要调试的代码放在IDE里面

2.在菜单栏选择run -edit Configuration,点击+号,选择remote,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后在最上面输入该次一远程调试的项目名字,方便自己区分不同的项目

3.将配置项中的-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5080添加到JAVA_OPTS的属性中,重启远程tomcat服务器

3.再次选择菜单条run按钮,找到debug+“自己设置的项目名字”,点击然后就可以进行远程debug调试

4.在本地项目中设置断点,然后访问远程机器上面的IP和端口,然后就可以在本地debug调试了

关于javajdwp和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。