❶ windows下怎么运行java应用程序
vista我不知道
windowsXp有的版本装了微软的java虚拟机,但这个和sun的不一样,应该是支持J#的吧,虽然也用java.exe,javac.exe但编译不了,*.java文件,
开始也让我糊涂了一阵,
想在windows上运行java的应用程序,一定要安装sun的java虚拟机,
然后把应用程序工程打好一个jar包,双击那个jar就可以运行了。
但这个办法并不是很保险,如果编译版本与运行版本有差异的话经常不可用,
我用着最保险的办法是在jar同级的目录中放一个run.bat文件
文件内容一般是
java -jar ***.jar
然后双击run.bat就可以了。
如果你这个应用程序还需要其它的jar包支持,需要加上-classpath参数。
如果你觉得bat文件不好看,可以去找bat2exe这样的工具,
用bat做成一个exe文件,
但运行java程序的前提是你一定要安了jvm
以上,如有问题再联系
amemiyareiji 朋友说的将应用程序做成了exe就不用jvm了,这个我也曾找了好一阵,但没有一个可以脱离jvm的,不知道这个朋友用什么工具做的?以前虽然用jbuilder可以导出exe但没有能脱离jvm
2003-2006这几年间我不下用了三十多种将jar转换成exe的工具,但没有一个可以脱离jvm的,
eclipse的启运程序,没有jdk也是不行的。
如果amemiyareiji 朋友的工具真的可以脱离jvm请告诉工具名称。
回复 amemiyareiji
你说的工具我试了一下,生成的Exe文件是 Untitled.exe
我把他拿到了一个新装的系统里运行
环境winXp SP2,没有JDK,没安jet-640-eval-en-win32.exe
就出现下面的错误,这个工具还需要做什么?
D:\>Untitled
Fatal error: Excelsior JET 6.40 installation cannot be found.
HOW TO FIX:
If you port compiled executables to other machines, please, use the JetPackII
deployment wizard (see JET User's Guide, "Deployment Automation" for details).
Otherwise, include the JET/bin directory into PATH or reinstall JET.
D:\>
我这个测试的代码只是显示一个窗体,只用JDK自身的包就可以了,不需引用其它包
❷ windows下怎么运行java应用程序
vista我不知道 windowsXp有的版本装了微软的java虚拟机,但这个和sun的不一样,应该是支持J#的吧,虽然也用java.exe,javac.exe但编译不了,*.java文件, 开始也让我糊涂了一阵, 想在windows上运行java的应用程序,一定要安装sun的java虚拟机, 然后把应用程序工程打好一个jar包,双击那个jar就可以运行了。 但这个办法并不是很保险,如果编译版本与运行版本有差异的话经常不可用, 我用着最保险的办法是在jar同级的目录中放一个run.bat文件 文件内容一般是 java -jar ***.jar 然后双击run.bat就可以了。 如果你这个应用程序还需要其它的jar包支持,需要加上-classpath参数。 如果你觉得bat文件不好看,可以去找bat2exe这样的工具, 用bat做成一个exe文件, 但运行java程序的前提是你一定要安了jvm 以上,如有问题再联系 amemiyareiji 朋友说的将应用程序做成了exe就不用jvm了,这个我也曾找了好一阵,但没有一个可以脱离jvm的,不知道这个朋友用什么工具做的?以前虽然用jbuilder可以导出exe但没有能脱离jvm 2003-2006这几年间我不下用了三十多种将jar转换成exe的工具,但没有一个可以脱离jvm的, eclipse的启运程序,没有jdk也是不行的。 如果amemiyareiji 朋友的工具真的可以脱离jvm请告诉工具名称。 回复 amemiyareiji 你说的工具我试了一下,生成的Exe文件是 Untitled.exe 我把他拿到了一个新装的系统里运行 环境winXp SP2,没有JDK,没安jet-640-eval-en-win32.exe 就出现下面的错误,这个工具还需要做什么? D:\>Untitled Fatal error: Excelsior JET 6.40 installation cannot be found. HOW TO FIX: If you port compiled executables to other machines, please, use the JetPackII deployment wizard (see JET User's Guide, "Deployment Automation" for details). Otherwise, include the JET/bin directory into PATH or reinstall JET. D:\> 我这个测试的代码只是显示一个窗体,只用JDK自身的包就可以了,不需引用其它包
❸ windows XP下怎么安装java JDK8
解压后放在D:\java\jdk1.8.0文件夹里 然后调出命令 输入 cd D:\java\jdk1.8.0回车再输入 FOR /R %f IN (*.pack) DO "D:\java\jdk1.8.0\bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"即可
❹ 学习JAVA需要安装哪些开发平台及环境工具
java开发环境:JDK1.5 或 JDK1.6, Windows XP
java开发工具:eclipse
数据库:mysql
数据库工具:Navicat For Mysql
❺ xp系统安装jdk不成功,有没人知道怎么解决
这是因为安装程序调用了Windows Vista以后版本的API函数。
2014年4月8日起,微软将停止对Windows XP的支持,所以JDK8也将不再支持Windows XP系统,不过还好这只是安装程序的问题。我们通过解压安装的方式,还是能够在Windows XP系统上安装JDK8的。
安装方法
(1)使用7-Zip解压jdk-8-windows-i586.exe文件后会取出来一个zip文件 tools.zip
(2)再解压tools.zip到D:\java\jdk1.8.0
D:\java\jdk1.8.0
+-- bin
+-- db
+-- include
+-- jre
+-- lib
+-- javafx-src.zip
+-- LICENSE
+-- README.html
+-- release
+-- THIRDPARTYLICENSEREADME.txt
+-- THIRDPARTYLICENSEREADME-JAVAFX.txt
(3)解压后的JDK文件夹(jre/lib)中,没有rt.jar和tools.jar,而是rt.pack、tools.pack这两个文件。需要使用JDK的pack200工具来把pack文件解压成jar文件。
D:\java\jdk1.8.0> FOR /R %f IN (*.pack) DO "D:\java\jdk1.8.0\bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"
(4)确认JDK版本
D:\java\jdk1.8.0\bin>java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
(5)测试
Lambda.java
import java.util.Arrays;
import java.util.List;
public class Lambda {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
list.forEach(n -> System.out.println(n));
}
}
把Lambda.java拷贝到D:\java\jdk1.8.0\bin下:
http://www.rritw.com/uploads/allimg/2014-03-19/011194bf-8ecc-3a3f-9cb9-28c1d0c98cf5.png
❻ Windows XP怎么下Java8
将下载所得java安装包放到将要安装的jdk路径下,我是放在C:\Program Files\Java\jdk8下的;使用7-zip解压工具将安装包解压到当前目录下得到tools.zip包
将提取到的tools.zip再次通过7-zip解压到当前目录下得到jdk文件:
bin
db
include
jre
lib
LICENSE
README.html
THIRDPARTY
LICENSEREADME-JAVAFX.txt
THIRDPARTY
LICENSEREADME.txt
javafx-src.zip
release
打开lib目录你会发现以前的tools.jar变成了tools.pack以及jre/lib下的rt.jar变成了rt.pack
所以我们需要将他还回我们熟悉的形式,jdk下的bin/unpack200.exe就是用来转换的工具,我们只需要在命令行中调用工具执行转换即可.
C:\Documents and Settings\Administrator>cd C:\Program Files\Java\jdk8
C:\Program Files\Java\jdk8>FOR /R %f IN (*.pack) DO "C:\Program Files\Java\jdk8\bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"
然后转换完成即可
如此之后jdk就已经准备就绪,只需要配置好环境变量即可使用:
JAVA_HOME=C:\Program Files\Java\jdk8
Path=%JAVA_HOME%\bin
关闭之前的命令窗口重新打开命令行,测试当前jdk版本正确
❼ 如何用java启动windows命令行程序
先请编译和运行下面程序:
import java.util.*;
import java.io.*;
public class BadExecJavac2
{
public static void main(String args[])
{
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("javac");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
我们知道javac命令,当不带参数运行javac
程序时,它将输出帮助说明,为什么上面程序不产生任何输出并挂起,永不完成呢?java文档上说,由于有些本地平台为标准输入和输出流所提供的缓冲区大小
有限,如果不能及时写入子进程的输入流或者读取子进程的输出流,可能导致子进程阻塞,甚至陷入死锁。所以,上面的程序应改写为:
import java.util.*;
import java.io.*;
public class MediocreExecJavac
{
public static void main(String args[])
{
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("javac");
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("");
while ( (line = br.readLine()) != null)
System.out.println(line);
System.out.println("");
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
下面是正确的输出:
D:\java>java MediocreExecJavac
Usage: javac <options>
where possible options include:
-g Generate all debugging info
-g:none Generate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-nowarn Generate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are used
-classpath Specify where to find user class files
-cp Specify where to find user class files
-sourcepath Specify where to find input source files
-bootclasspath Override location of bootstrap class files
-extdirs Override location of installed extensions
-endorseddirs Override location of endorsed standards path
-d Specify where to place generated class files
-encoding Specify character encoding used by source files
-source Provide source compatibility with specified release
-target Generate class files for specific VM version
-version Version information
-help Print a synopsis of standard options
-X Print a synopsis of nonstandard options
-J Pass directly to the runtime system
Process exitValue: 2
D:\java>
下面是一个更一般的程序,它用两个线程同步清空标准错误流和标准输出流,并能根据你所使用的windows操作系统选择windows命令解释器command.com或cmd.exe,然后执行你提供的命令。
import java.util.*;
import java.io.*;
class StreamGobbler extends Thread
{
InputStream is;
String type; //输出流的类型ERROR或OUTPUT
StreamGobbler(InputStream is, String type)
{
this.is = is;
this.type = type;
}
public void run()
{
try
{
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line=null;
while ( (line = br.readLine()) != null)
{
System.out.println(type + ">" + line);
System.out.flush();
}
} catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
public class GoodWindowsExec
{
public static void main(String args[])
{
if (args.length < 1)
{
System.out.println("USAGE: java GoodWindowsExec ");
System.exit(1);
}
try
{
String osName = System.getProperty("os.name" );
System.out.println("osName: " + osName);
String[] cmd = new String[3];
if(osName.equals("Windows XP") ||osName.equals("Windows 2000"))
{
cmd[0] = "cmd.exe" ;
cmd[1] = "/C" ;
cmd[2] = args[0];
}
else if( osName.equals( "Windows 98" ) )
{
cmd[0] = "command.com" ;
cmd[1] = "/C" ;
cmd[2] = args[0];
}
Runtime rt = Runtime.getRuntime();
System.out.println("Execing " + cmd[0] + " " + cmd[1]+ " " + cmd[2]);
Process proc = rt.exec(cmd);
// any error message?
StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");
// any output?
StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");
// kick them off
errorGobbler.start();
outputGobbler.start();
// any error???
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal);
} catch (Throwable t){
t.printStackTrace();
}
}
}
下面是一个测试结果:
D:\java>java GoodWindowsExec " Test.java Test1.java"
osName: Windows XP
Execing cmd.exe /C Test.java Test1.java
OUTPUT>已复制 1 个文件。
ExitValue: 0
D:\java>
下面的测试都能通过(windows xp+jdk1.5)
D:\java>java GoodWindowsExec dir
D:\java>java GoodWindowsExec Test.java
D:\java>java GoodWindowsExec regedit.exe
D:\java>java GoodWindowsExec NOTEPAD.EXE
D:\java>java GoodWindowsExec first.ppt
D:\java>java GoodWindowsExec second.doc
function TempSave(ElementID)
{
CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value);
CommentsPersistDiv.save("CommentXMLStore");
}
function Restore(ElementID)
{
CommentsPersistDiv.load("CommentXMLStore");
document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent");
}