如何在UltraEdit中编译和运行Java程序
(2011-07-28 12:33:52)
标签:
it
问题提出:
可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配。然而美中不足的是UltraEdit本身不提供Java程序的编译和运行命令。因此,很多人就只能在UltraEdit中编写程序,而在命令提示符(DOS命令窗)中编译运行。
这样做是很不方便的。每次进入命令提示符界面时要用cd命令进入当前目录,除非将每个工程都放在同一目录下,并且将命令提示符的默认路径改为改目录路径,因为系统默认的路径是C:\Documents
and Settings\用户名\My
Documents\。而且每次编译或运行都要在命令提示符中输入重复的命令,真是烦死人!
其实,工作本来可以很简单,只是我们对UltraEdit的强大功能不了解而已!
如果你认为已经知道我将要说的方法了,那么,很对不起,你错了。
一般方法:
首先让我们看看从网上找到的介绍如何在UltraEdit中编译运行Java程序的方法吧。如在百度中搜索“UltraEdit 运行
java程序”。嗯,文章还不少,有些还图文并茂,但都离不开以下这个方法:
一、 编译Java程序:
1. 打开 高级->工具配置
2. 在“命令栏”里输入 javac %p%n%e (%p 为路径,%n为文件名,%e为扩展名)或javac
%f(%f为带路径带扩展名的文件名)
3. 在“工作目录”上填 %p (表示文件所在目录)
4. 在“菜单项目名称”上输入 “编译java程序” (或者其他任何字符,只要你喜欢)
5. 在“命令行输出”中选中“输出到列表窗口”和“捕捉输出”
6. 点击“插入”按钮,确定
二、 运行Java程序:
1. 打开 高级->工具配置
2. 在“命令栏”里输入 java %p%n
3. 在“菜单项目名称”上输入 “运行java程序” (或者其他任何字符,只要你喜欢)
4. 在“工作目录”上填 %p (表示文件所在目录)
5. 在“命令行输出”中选中“输出到列表窗口”和“捕捉输出”
6. 点击“插入”按钮,确定
三、 编译和运行Java程序:
1.
创建一个批处理的文件runjava.bat(或者其他任何文件名,只要你喜欢),比如放在C:\command目录下。runjava.bat文件内容如下:
javac %1.java
java %1
2. 打开 高级->工具配置
3.
点击在“命令栏”右边的“浏览”找到刚才建立的runjava.bat文件(或者直接在“命令栏”中输入完整的路径,包括文件名和扩展名)。在“命令栏”字符串的后面添加“
%p%n”,注意“%p%n”前面要有一个空格!即:C:\command\runjava.bat %p%n
4. 在“菜单项目名称”上输入 “编译和运行java程序” (或者其他任何字符,只要你喜欢)
5. 在“命令行输出”中选中“输出到列表窗口”和“捕捉输出”
6. 点击“插入”按钮,确定
可能还会有其他一些方法版本,但都与以上这个方法大同小异。
存在缺陷:
现在让我们实战练习一下,将最简单的那个Java程序(如果不知道哪个程序,那我敢说你绝对是一个Java盲!)就是HelloWorld.java,放到“我的文档”中(请务必放到这里)。用UltraEdit打开,打开“高级”菜单,看到了吧,最下面多了三行命令:“编译java程序”、“运行java程序”、“编译和运行java程序”,这就是刚才我们配置的三个命令。工作到这里似乎出人意料的简单和顺利。还等什么,赶快点击“编译java程序”啊。
屏幕下方的输出窗口会显示输出信息的。请耐心等一下,快有结果了,Java程序就是这样,编译比较慢,如果电脑配置比较低更要慢些。结果终于出来了!
咦,不对啊。编译结果如下:
javac: 无效的标志: C:\Documents
用法:javac
其中,可能的选项包括:
(下面的无用信息省去)
*注意,我用的是最新的JDK 1.5.0_03-b07版本,输出提示有中文。
同样,点击“运行java程序”命令的运行结果是:
java.lang.NoClassDefFoundError: C:\Documents
Exception in thread "main"
为什么会这样呢,网上的文章不是说得很清楚吗,可以编译和运行的啊。还有很多人跟贴称赞呢,我们是不是在上面的配置中做错了?
原因分析:
请不要返回查看前面的配置步骤了,那绝对每错的,而且网上的那些人也没有错!
错在哪里?谁错了?就错在我们将文件放在“我的文档”中!!
其实,不但是在“我的文档”中,只要你将java程序放在任何带有空格的目录路径下都会有这种情况!为什么呢?
让我们分析一下:当我们点击“编译java程序”命令,其实是执行了下面的命令:
javac C:\ Documents and Settings\用户名\My
Documents\HelloWorld.java
问题就出在这条命令中。我们自认为整个路径就是javac的第一个参数,但实际上第一个参数是C:\Documents,因为C:\Documents后面遇到了一个空格!javac只采用第一个参数,后面字符看成是无效的从而省略掉。
如果路径中没有空格,比如:
javac C:\myProject\ HelloWorld.java
用刚才的“编译java程序”命令是可以正确编译的,不信你亲自试试。
同样如果路径中没有空格用“运行java程序”命令也是可以正确运行的,运行结果将显示在屏幕下方的输出窗口中:
Hello World!
如果不信自己去试试。
解决方法:
原因搞清楚了,那么有没有解决的方法呢?
有!
先让我们做个实验,请打开“命令提示符”。输入:
javac “C:\ Documents and Settings\用户名\My
Documents\HelloWorld.java”
*注意,在上面的讨论中我们已经在“我的文档”中创建了HelloWorld.java文件。
怎么样,能够编译成功了吧。(当然,前提是你的HelloWorld.java没有语法错误。如果在这个最简单的java程序中还有语法错误,简直是java程序员的耻辱!)
你大概明白其中的玄机了吧。不错,我们把路径放在一对双引号中,问题就解决了。javac和java会将整个引号中的字符串看成是一个参数。(其实在命令提示符下的所有命令都是这样处理的。)
好,下面我就给出完善的UltraEdit工具配置:
首先打开 高级->工具配置,将刚才我们创建的三个工具命令删除掉。
一、 编译Java程序:
1.
创建一个批处理的文件compile.bat(或者其他任何文件名,只要你喜欢),比如放在C:\command目录下。compile.bat文件内容如下
cd %1
javac %2.java
2. 打开 高级->工具配置
3.
点击在“命令栏”右边的“浏览”找到刚才建立的compile.bat文件(或者直接在“命令栏”中输入完整的路径,包括文件名和扩展名)。在“命令栏”字符串的前后面添加双引号,并在字符串后面添加“
"%p" %n”,即:"C:\ command\compile.bat" "%p" %n
注意:路径前后最好加上双引号,而 %p 一定要加上双引号 "%p" 。
(一下步骤同前面介绍的一般方法)
二、 运行Java程序:
1.
创建一个批处理的文件run.bat(或者其他任何文件名,只要你喜欢),比如放在C:\command目录下。run.bat文件内容如下
cd %1
java %2
2. 打开 高级->工具配置
3.
点击在“命令栏”右边的“浏览”找到刚才建立的run.bat文件(或者直接在“命令栏”中输入完整的路径,包括文件名和扩展名)。在“命令栏”字符串的前后面添加双引号,并在字符串后面添加“
"%p" %n”, 即:"C:\ command\run.bat" "%p" %n
注意:路径前后最好加上双引号,而 %p 一定要加上双引号 "%p" 。
(一下步骤同前面介绍的一般方法)
三、 编译和运行Java程序:
1.
创建一个批处理的文件compilerun.bat(或者其他任何文件名,只要你喜欢),比如放在C:\command目录下。compilerun.bat文件内容如下
cd %1
javac %2.java
java %2
2. 打开 高级->工具配置
3.
点击在“命令栏”右边的“浏览”找到刚才建立的compilerun.bat文件(或者直接在“命令栏”中输入完整的路径,包括文件名和扩展名)。在“命令栏”字符串的前后面添加双引号,并在字符串后面添加“
"%p" %n”,即:"C:\ command\run.bat" "%p" %n
注意:路径前后最好加上双引号,而 %p 一定要加上双引号 "%p" 。
(一下步骤同前面介绍的一般方法)
好了,现在你大可以重新编译和运行HelloWorld.java程序了。
不错吧,一切顺利。
原理分析:
通过前面的原因分析,我们知道解决的方法很简单,只要在路径前后添加一对双引号就可以了。例如,我们可以修改一般方法中的命令行:
一、 编译Java程序:
将javac %p%n%e改为javac "%p%n%e"
二、 运行Java程序:
将java %p%n改为java "%p%n"
三、 编译和运行Java程序:
将 %p%n改为" %p%n"
照上面这样修改是完全可以的!但为什么我们还煞费苦心地创建三个bat文件呢?
因为一个工程往往不止一个文件,而且往往将其放在一个(多个)包中,如果我们不先进入工程目录,编译程序将找不到这个(些)包。因此,我们先用cd命令进入工程目录,再进行一般的编译和运行命令,就像我们在命令提示符中做的一样。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。