首页编程java编程javac,java编程软件

javac,java编程软件

编程之家2026-05-22787次浏览

这篇文章给大家聊聊关于javac,以及java编程软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

javac,java编程软件

javac和java 有什么区别和联系

javac和java命令行中的-classpath选项

这是个很基础的问题,但是因为基本上都是用现有的IDE工具来开发java程序,所以很少有人意识到这一点。

javac

-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。

-sourcepath,设定要搜索编译所需java文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。

所以一个完整的javac命令行应该是这样的,

javac,java编程软件

假设abc.java在路径c:\src里面,在任何的目录的都可以执行以下命令来编译。

javac-classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip-sourcepath c:\source\project1\src;c:\source\project2\lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java

表示编译需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件

还需要c:\source\project1\src下面的源文件,c:\source\project2\lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,

注意:jar,zip里面的源文件不会有什么改动,目录下的源文件,有可能会被重新编译。

java

javac,java编程软件

-classpath,设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。

由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。

表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。

假设abc.class在路径c:\src里面

可以在任何路径下执行以下命令

java-classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc

问题:如果main.class属于c:\jar\abc.jar,并且在com.cnblogs.jeffchen这个包里,那么执行java-classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可,但是如果classpath中包含多个jar包呢?并且其他jar包中也有com.cnblogs.jeffchen会发生什么情况?错误?

在windows下,

文件路径的分割符为反斜杠\

类或者java文件列表的分割符为分号;

在linux下

文件路径的分隔符位斜杠/

类或者java文件列表的分隔符为冒号:

一个linux下编译和运行的例子

/usr/local/java/bin/javac-classpath/tmp/javatest/lib/mail-1.3.3.jar-d/tmp/javatest/bin//tmp/javatest/src/jp/co/realseed/Capability.java

/usr/local/java/bin/java-classpath/tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability

如何用java以及javac编译工程

一、javac命令

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

java [options] [sourcefiles] [@files]

其中:

options:命令行选项;

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

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

有几个比较重要的选项:

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

-classpath可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;多个路径可用分号“;”分隔,Linux系统上用冒号“:”分隔,看具体情况,反正不是冒号“:”,就是分号“;”,报错了改下。

-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.注释

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

3.变量

shell的脚本的变量都是字符串,不用申明类型,定义的时候直接变量=值即可,用到变量的的时候用$变量或者${变量},echo命令用于打印,举个例子:

#!/bin/sh

#定义变量words,值为hello world

words="hello world"

#打印变量words的值

echo$words

4.命令

shell脚本里面可以直接任意使用linux命令,要用到什么命令直接敲进去即可。记住一些常用的命令:

cd打开目录

ls-l显示目录信息

rm-fr递归删除目录及下面的文件,不提示信息

mkdir创建目录

pwd显示当前路径

kill-9 pid强制杀掉某个进程号的进程

pkill杀掉某个名字的进程

ps aux显示运行进程信息

netstat-pan查看网络端口监听情况

我配置好了java,但输入javac时

path和classpath设置错误了吧!

请按以下方法设置:

1、在【我的电脑】上按右键,选择【属性】

2、选择【系统属性】面板上面的【高级】选项,然后选择下面的【环境变量】

3、在底部的【系统变量】列表中,查找变量名为“JAVA_HOME”的系统变量,如果没有,则点击【新建】按钮,在弹出的对话框里,变量名填入“JAVA_HOME”,在变量值里面填入jdk的安装路径(以“C:\Program Files\Java\jdk1.6.0_04”为例)

4、点击【确定】,查找变量名为“Path”的环境变量,然后点击【编辑】按钮,在变量值的最后面加上“;C:\Program Files\Java\jdk1.6.0_04\bin”,记得别忘了最前面的那个分号

5、点击【确定】按钮,查找变量名为“CLASSPATH”的环境变量,如果没有找到该环境变量则点击【新建】按钮,在变量名里填入“CLASSPATH”,在变量值里面填入“ C:\Program Files\Java\jdk1.6.0_04\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_04\lib\tools.jar;.”特别要注意的就是最后那个点,一定要写上

6、依次点击【确定】完成设置,如要查看前面的安装及配置是否成功,可在操作系统的【运行】中输入“cmd”,按回车键进入命令行模式,在命令行模式中输入“java–version”,然后回车,如正确输出java的安装版本信息,则表示java环境已经顺利安装成功。

好了,关于javac和java编程软件的问题到这里结束啦,希望可以解决您的问题哈!

javascript 循环(js循环函数)中高级java开发面试题(java最新面试题)