当前位置:首页 » 编程软件 » dos编译jarexe

dos编译jarexe

发布时间: 2022-08-29 14:27:42

⑴ 请问用jar转化成的exe文件运行时需要java环境吗

用dos指令就需要,编译器就不需要了

⑵ java代码如何生成可运行的程序 例如c一样,编译后有exe java是不是一定要jdk

JDK是开发环境
运行java必须得有JRE环境
可以把java打成jar包 然后将jar包可以打成exe文件 用JSmooth工具可以把jar打成exe

⑶ 在DOS中编译JAVA文件时提示JAVAC找不到Hello.java

2.1.3 了解JDK
接着来了解一下安装的东西有哪些。这里假设JDK与公用JRE各安装至C:\Program Files\Java\jdk1.5.0_06\及C:\Program Files\Java\jre1.5.0_06\。
公用JRE主要是为开发好的Java程序提供执行的平台。前面曾经说过,JDK本身也有自己的JRE,这个JRE位于JDK安装目录的jre目录下。以前面的安装为例,就是在C:\Program Files\Java\jdk1.5.0_06\jre中,JDK本身所附的JRE主要是开发Java程序时做测试之用。与公用JRE的主要差别在于JDK本身所附的JRE比公用JRE多了个server的VM(Virtual Machine)执行选项,如图2-5和图2-6所示。通过查看C:\Program Files\Java\jdk1.5.0_06\jre\bin与C:\Program Files\Java\jre1.5.0_06\bin就可以了解。

图2-5 JDK的JRE有server选项 图2-6 公用JRE没有server选项
server与client选项的差别在于所使用的VM不同,执行Java程序时默认会使用client VM。若使用server VM,会花比较长的启动时间及消耗较多的内存,为的是启动Java程序后可以获得较好的执行效能。初学者现阶段不用在乎启动server或client VM的差别,只要先知道有这两种VM即可。
如图2-7所示,继续来看看JDK的安装目录下有哪些东西。

图2-7 JDK安装目录的内容
bin目录
提供的是JDK的工具程序,包括javac、java、javadoc、appletviewer等程序。
demo目录
一些使用Java编写好的范例程序。
jre目录
JDK自己附带的JRE。
lib目录
工具程序实际上会使用的Java工具类(例如,javac工具程序实际上会去使用tools.jar中的com/sun/tools/javac/Main类)。
src.zip
Java提供的API类的源代码压缩文件。如果将来需要查看API的某些功能是如何实现的,可以查看这个文件中的源代码内容。
在大致了解JDK与JRE安装目录下的内容之后,这里作个总结,您到底要记得哪些东西?答案是JDK安装目录下的bin目录。因为当您编写完Java程序之后,无论是编译或执行程序,都会使用到bin目录下所提供的工具程序。

2.2 设置Path与Classpath
对于习惯图形化接口操作的初学者而言,在命令符模式下执行程序是一件陌生的事,也因此不了解Path路径设置的方法与作用,而Java执行的平台也有自己的一套路径规则来寻找编写好的Java类,也就是所谓的Classpath设置。本节将介绍如何进行这些相关的设置。
2.2.1 设置Path
在安装好JDK程序之后,在JDK安装目录(假设是C:\Program Files\Java\jdk1.5.0_06)下的bin目录中,会提供一些开发Java程序时必备的工具程序。对于Java的初学者,建议从命令符模式(在Windows 2000/XP下称之为命令提示符)下来操作这些工具程序。您可以在Windows 2000/XP的“开始”菜单中选择“运行”,输入“cmd”命令来打开命令符模式。
虽然您知道JDK的工具程序是位于bin目录下,但您的操作系统并不知道如何找到这些工具程序。所以当您输入javac尝试执行编译程序时,命令符模式下会告诉您找不到javac工具程序,如图2-8所示。

图2-8 出现这个信息表示找不到指定的工具程序
您必须告诉操作系统,应该到哪些目录下尝试找到您所想使用的工具程序。有几个方法可以进行这项设置,最简便的方法就是设置系统变量中的Path环境变量。在Windows 2000/XP下可以选择桌面上的“我的电脑”并单击鼠标右键,选择“属性”后切换至“高级”页面,并单击下方的“环境变量”按钮,在“环境变量”对话框中编辑Path变量,如图2-9所示。

图2-9 选择Path变量并单击“编辑”按钮以进行路径设置
如图2-10所示,在Path变量的“编辑系统变量”对话框中,在“变量值”文本框中先输入一个“;”,接着输入JDK bin目录的路径(这里假设是C:\Program Files\Java\jdk1.5.0_06\bin),然后单击“确定”按钮即可完成设置。

图2-10 在Path变量中加入JDK的bin目录路径
设置Path变量之后,要重新打开一个命令符模式才能重新读入Path变量内容,接着如果执行javac程序,应该可以看到图2-11所示的画面。

图2-11 若设置Path变量成功,就可以找到指定的工具程序
也可以在命令符模式下执行以下的命令,直接设置目前的环境变量,包括Path变量(这个设置在下次重新打开命令符模式时就不再有效):
set Path=%Path%;C:\Program Files\Java\jdk1.5.0_06\bin
由于以上介绍的Path设置都是寻找JDK安装目录下的bin目录,所以操作系统会搜索JDK安装目录下的工具程序。这样当执行java程序时,默认会使用JDK所附的JRE(即C:\Program Files\Java\jdk1.5.0_06\jre),而不是公用的JRE(即C:\Program Files\Java\jre1.5.0_06\)。
简单地说,操作系统会尝试在指定的Path变量中寻找指定的工具程序。当输入javac命令时,由于Path变量中有设置JDK的bin目录的路径,操作系统就可以根据这个信息来找到javac工具程序。
2.2.2 设置Classpath
Java执行环境本身就是一个平台,执行于这个平台上的程序是已编译完成的Java程序(后面会介绍到Java程序编译完成之后,会以.class文件存在)。如果将Java执行环境比喻为操作系统,如果设置Path变量是为了让操作系统找到指定的工具程序(以Windows来说就是找到.exe文件),则设置Classpath的目的就是让Java执行环境找到指定的Java程序(也就是.class文件)。
有几个方法可以设置Classpath,最简单的方法是在系统变量中新增Classpath环境变量。在图2-9中的“系统变量”下单击“新建”按钮,在“变量名”文本框中输入Classpath,在“变量值”文本框中输入Java类文件的位置。例如可以输入“.;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\rt.jar”(jar文件是zip压缩格式,其中包括.class文件和jar中的Classpath设置),每一路径中间必须以;作为分隔。
事实上JDK 5.0默认就会到当前工作目录(上面的.设置),以及JDK的lib目录(这里假设是C:\Program Files\Java\jdk1.5.0_06\lib)中寻找Java程序。所以如果Java程序是在这两个目录中,则不必设置Classpath变量也可以找得到,将来如果Java程序不是放置在这两个目录时,则可以按上述设置Classpath。
如果所使用的JDK工具程序具有Classpath命令选项,则可以在执行工具程序时一并指定Classpath。例如:
javac -classpath classpath1;classpath3...
其中classpath1、classpath 2是实际要指定的路径。也可以在命令符模式下执行以下的命令,直接设置目前的环境变量,包括Classpath变量(这个设置在下次重新打开命令符模式时就不再有效):
set CLASSPATH=%CLASSPATH%;classpath1;classpath3...
总而言之,设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序。

良葛格的话匣子:
以上介绍的是几个简单的Path与Classpath设置方式,实际上还有一些设置方式。本章最后列出了几个介绍Path、Classpath设置的网络资源链接,内容包括其他操作系统下的设置方式,您可以从中进一步了解相关的设置。

2.3 第一个Java程序
完成JDK相关环境设置之后,无论如何就先写一个简单的Java程序,以测试一下环境设置是否正确,顺便增强一些学习的信心。以下要介绍的第一个Java程序是会显示“嘿!我的第一个Java程序!”这段信息的简单程序。
2.3.1 编写和编译Java程序
在正式编写程序之前,先确定可以看得到的文件的扩展名。在Windows 2000/XP下默认是不显示文件的扩展名的,这会造成重新命名文件时的困扰。如果目前在“资源管理器”下无法看到文件的扩展名,应先执行工具栏上的“工具”|“文件夹选项”并切换至“查看”页面,取消“隐藏已知文件类型的扩展名”复选框,如图2-12所示。

图2-12 取消“隐藏已知文件类型的扩展名”复选框以显示扩展名
接着选择一个目录来编写Java源代码文件。假设该文件存储在C:\workspace目录,您要新增一个“文本文件”(也就是.txt文件),并重新命名文件为HelloJava.java。由于是将文本文件的扩展名从.txt改为.java,所以系统会询问您是否更改扩展名,应确定更改,接着双击HelloJava.java打开文件,并照着图2-13所示编写程序。

图2-13 第一个Java程序
这个程序有几点必须注意:
Java的源文件必须以扩展名 .java结束
这也就是必须让“资源管理器”显示扩展名的原因。
主文件名与类名称必须一致
Java程序的类名称是指class关键词(Keyword)后的名称。就这个例子而言,也就是HelloJava,该名称必须与HelloJava.java的主文件名(HelloJava)一致。
注意每个字母的大小写
Java程序中会区分字母的大小写,System与system对Java程序来说是不一样的名称。
空白只能是半角空格符或是Tab字符
有些初学者可能不小心输入了全角空格符,这很难检查出来。
写好程序并存盘后,接着打开一个命令符模式,并使用以下的命令切换至HelloJava.java所在的目录(在此例中是C:\workspace):
> cd C:\workspace
接着使用javac工具程序来编译.java文件,这里指定编译HelloJava.java。命令如下:
C:\workspace\javac HelloJava.java
如果编译顺利成功,则在HelloJava.java所在的目录,会出现一个HelloJava.class文件,这是已经编译完成的Java字节码(Bytecodes)文件程序。
您可能会遇到以下的几个错误,这表示您有一些地方操作有误:
error: cannot read: HelloJava.java
这表示javac工具程序找不到您指定的.java文件,请检查文件是否存在目前的目录中,或是文件名称是否有误。
HelloJava.java:1: class HelloJava is public, should be declared in a file named HellJava.java
类名称与主文件名不符,请确定主文件名与类名称是相同的。
HelloJava.java:3: cannot find symbol
程序代码中某些部分输入错了,最常发生的原因可能是没有注意到字母大小写。
javac 不是内部或外部命令、可执行的程序或批量文件
Path设置有误或没有在Path中加入JDK的bin目录,请参考2.2节的内容。
2.3.2 执行Java程序
在顺利编译出 .class的文件之后,可以使用java工具程序来执行它。执行时必须指定类名称,就以上的例子来说,也就是指定HelloJava.class这个文件的主文件名。命令执行方式如下:
C:\workspace>java HelloJava
java工具程序会根据您指定的类名称,实际加载.class的文件,以上例来说,就是载入HelloJava.class并执行,执行的结果应该是图2-14所示的画面。

图2-14 执行第一个Java程序的成功画面
您可能会遇到以下的几个错误,这表示您有一些地方操作有误:
Exception in thread"main" java.lang.NoClassDefFoundError
java工具程序找不到您所指定的类,请确定指定的类存在目前的目录中,名称是否指定正确(如果是旧版的JDK,可能必须在Classpath中加入.,表示可于目前目录中找到所指定的类)。
Exception in thread "main" java.lan.NosuchMethodError: main
没有指定Java程序的入口(Entry Point)。java工具程序指定的类必须要有一个程序入口,也就是必须包括main(String[] args)这个方法(Method),请确定您的程序中包括它,必须与图2-13所示的HelloJava.java内容一致。
在后面的章节中,如果不是要特别强调,就不再重复指出如何编译与执行Java程序。当在后面的章节中说要编译Java程序时,就是指使用javac工具程序来编译.java;而说要执行Java程序时,就是指使用java工具程序来执行指定的Java类。

⑷ dos jar 打包 怎么弄哈! 哈哈 只要dos 谢了 !

For more information on a specific command, type HELP command-name
ASSOC Displays or modifies file extension associations.
AT Scheles commands and programs to run on a computer.
ATTRIB Displays or changes file attributes.
BREAK Sets or clears extended CTRL+C checking.
CACLS Displays or modifies access control lists (ACLs) of files.
CALL Calls one batch program from another.
CD Displays the name of or changes the current directory.
CHCP Displays or sets the active code page number.
CHDIR Displays the name of or changes the current directory.
CHKDSK Checks a disk and displays a status report.
CHKNTFS Displays or modifies the checking of disk at boot time.
CLS Clears the screen.
CMD Starts a new instance of the Windows command interpreter.
COLOR Sets the default console foreground and background colors.
COMP Compares the contents of two files or sets of files.
COMPACT Displays or alters the compression of files on NTFS partitions.
CONVERT Converts FAT volumes to NTFS. You cannot convert the
current drive.
COPY Copies one or more files to another location.
DATE Displays or sets the date.
DEL Deletes one or more files.
DIR Displays a list of files and subdirectories in a directory.
DISKCOMP Compares the contents of two floppy disks.
DISKCOPY Copies the contents of one floppy disk to another.
DOSKEY Edits command lines, recalls Windows commands, and creates macros.
ECHO Displays messages, or turns command echoing on or off.
ENDLOCAL Ends localization of environment changes in a batch file.
ERASE Deletes one or more files.
EXIT Quits the CMD.EXE program (command interpreter).
FC Compares two files or sets of files, and displays the differences
between them.
FIND Searches for a text string in a file or files.
FINDSTR Searches for strings in files.
FOR Runs a specified command for each file in a set of files.
FORMAT Formats a disk for use with Windows.
FTYPE Displays or modifies file types used in file extension associations.
GOTO Directs the Windows command interpreter to a labeled line in a
batch program.
GRAFTABL Enables Windows to display an extended character set in graphics
mode.
HELP Provides Help information for Windows commands.
IF Performs conditional processing in batch programs.
LABEL Creates, changes, or deletes the volume label of a disk.
MD Creates a directory.
MKDIR Creates a directory.
MODE Configures a system device.
MORE Displays output one screen at a time.
MOVE Moves one or more files from one directory to another directory.
PATH Displays or sets a search path for executable files.
PAUSE Suspends processing of a batch file and displays a message.
POPD Restores the previous value of the current directory saved by PUSHD.
PRINT Prints a text file.
PROMPT Changes the Windows command prompt.
PUSHD Saves the current directory then changes it.
RD Removes a directory.
RECOVER Recovers readable information from a bad or defective disk.
REM Records comments (remarks) in batch files or CONFIG.SYS.
REN Renames a file or files.
RENAME Renames a file or files.
REPLACE Replaces files.
RMDIR Removes a directory.
SET Displays, sets, or removes Windows environment variables.
SETLOCAL Begins localization of environment changes in a batch file.
SHIFT Shifts the position of replaceable parameters in batch files.
SORT Sorts input.
START Starts a separate window to run a specified program or command.
SUBST Associates a path with a drive letter.
TIME Displays or sets the system time.
TITLE Sets the window title for a CMD.EXE session.
TREE Graphically displays the directory structure of a drive or path.
TYPE Displays the contents of a text file.
VER Displays the Windows version.
VERIFY Tells Windows whether to verify that your files are written
correctly to a disk.
VOL Displays a disk volume label and serial number.
XCOPY Copies files and directory trees.

没找到你说的打包命令

⑸ Java编好的程序在DOS里用什么命令可以把它打包成exe可执行文件请高手

java程序运行是离不开jre运行时环境的,JDK可以运行java就是因为JDK里面自带了jre,没有jre运行时的机子是无法运行java程序的,就算你把java程序转成exe,同样也离不开jre。据我所知,java没有提供转换成exe的命令,你要转的话,可以试试exe4j这个软件,转换后把exe和jre直接发给用户,用户可以直接运行,不过记得要将jre路径选择为当前目录。

热点内容
vs编译找不到指定项目文件 发布:2025-02-08 12:36:54 浏览:243
怎样用windows服务器搭建网站 发布:2025-02-08 12:27:38 浏览:532
android获取音乐 发布:2025-02-08 12:26:05 浏览:962
存储的数据可以复制吗 发布:2025-02-08 12:20:22 浏览:852
scraino编程 发布:2025-02-08 11:59:41 浏览:266
我的世界服务器进不去该怎么办 发布:2025-02-08 11:47:41 浏览:236
linux的telnet 发布:2025-02-08 11:47:36 浏览:288
压缩袋打折 发布:2025-02-08 11:46:02 浏览:259
c语言结构体题目 发布:2025-02-08 11:46:01 浏览:339
如何svn限制一些外网不能访问 发布:2025-02-08 11:46:00 浏览:992