❶ 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");
}