❶ linux下java程序的start.sh啟動腳本中classpath中載入了好多jar包,腳本啟動後進程名特別長,不方便查看
通常有兩種方式:
1、使用變數將那些jar包放進去,比如
#!/bin/bash
MYCP=a.jar:b.jar:c.jar:......
java -cp "$MYCP" ...
2、如果那些jar包都在一個路徑裡面如lib,那麼最好去設jre載入的擴展目錄如下:
java -Djava.ext.dirs=lib ...
❷ java的可執行文件jar用java代碼執行方法。
先把Process 裡面的錯誤流讀出來,裡面肯定是報錯了。
雖然沒看到錯誤,但我懷疑是資料庫驅動沒有載入到類路徑里。你把Process 得工作目錄切換到D:\\test\\test\\下面試一試
❸ windows下如何用java命令運行jar包
step1:用eclipse導出(也可以用jar命令)jar包,並指定 Main-Class,比如Main-Class: com.skymobi.csj.CsjMain step2:編寫bat step2.1:添加classpath,要將所有依賴的jar和properties用絕對路徑加入,注意必須絕對路徑,然後還要加上自己要運行的jar包 set classpath=%classpath%;c:\test\skyopi.properties;c:\test\skyopi-1.0.6.jar;c:\test\slf4j-api-1.5.3.jar;c:\test\slf4j-log4j12-1.5.3.jar;c:\test\commons-logging-1.1.1.jar; c:\test\log4j-1.2.15.jar;c:\test\commons-httpclient-3.1.jar;c:\test\mole-framwork-1.5.jar;c:\test\mina-core-2.0.0-RC1.jar;c:\test\log4j.properties;c:\test\csj_skyserver.jar step2.2:添加執行腳本 java com.skymobi.csj.CsjMain MoleID=0xA000 MoleInstID=0xA001step3: 將寫好的腳步和依賴的所有jar和配置放到c:/test下(如果這個地址改了,上面的classpath里要做相應的改變)step4.:用你的滑鼠雙擊bat,hava fun ^-^注意:java -classpath 。。。。-jar csj_skyserver.jar arg0 證明無法調用依賴的其他包
❹ Centos7 自己寫了一個java程序的jar包,需要寫一個腳本,然後設置成開機自啟動,應該怎麼做
首先: centos 7默認 /etc/rc.local是沒有執行許可權的,所以:
第一步: chmod+x /etc/rc.local
第二步:把你要開機啟動的腳本加到這個文件最後。保存就可以了
沒錯,就這么簡單,哈哈,好運
❺ java腳本不支持第三方jar包的引用對錯
主函數可以是一個普通的main方法,然後選中要打包的項目右擊Export >> java >> Runnable? 一路next到結束,jar文件就可以正常運行了,不會缺少第三方jar包
❻ java應用程序怎樣打包成可jar執行程序
可以把普通的Java程序做成真正的exe,也就是單一個exe就可以在沒有安裝JVM的機器上運行。這樣的工具常見的有JET和gcj.前者是收費的,而且做出來的exe還是需要一堆dll。推薦使用gcj.他有windows和Linux版,直接下載zip包,不需要安裝,裡面有不少例子,一些build的批處理文件。從原理來說gcj自己實現了JVM規范,也就是你編寫一個HelloWorld.java,其中的main方法為System.out.println("foo");
當使用gcj把它做成exe(大約2M),運行這個exe時,會啟動裡面的一個小型jvm,在這上面跑HelloWorld。
其實,把Java做成純exe實在是吃力不討好,有很多限制,文件又大。
我比較傾向另幾種做法:
. 使用InstallAnywhere等工具,製作一個exe的安裝包
用戶可以選擇使用他機器上的JRE或是這個安裝包內的JRE來運行程序
這是很常見的一種做法,如JBuilder就是這么做的。
這樣的好處是不要求對方機器上裝有JRE,而且你原來的程序不需要任何改動。
InstallAnywhere中一個壓縮的JRE大概是8M。
. 製作成可執行的jar,也就是在META-INF的MANIFEST文件制定Main-Class
可以通過命令行java -jar jarfile.jar來執行,windows默認的把*.jar使用javaw -jar打開,所以有些機器上可以直接雙擊jar運行。
. 製作偽exe,其實和上一種做法是一樣的,只不過做成exe,調用系統的java.exe來運行它,這樣的工具有nativeJ,exe4j等
其實Java不像VB,Delphi只是一個語言,而是一個平台。
jar是最常用的部署單元,做成exe沒什麼意思。
一、exe4j。
說明:exe4j可以將Jar文件製作成exe文件,但需jre支持,也可將Jar文件放在外面。
軟體性質:共享軟體
下載地址:http://www.ej-technologies.com/procts/exe4j/overview.html
二、JBuilder。
說明:新版本的JBuilder可以直接把工程製作成各系統的可執行文件,包括Windows系統。
軟體性質:商業軟體
下載地址:略。我是從eMule下載的。
三、NativeJ。
說明:與exe4j功能類似。
軟體性質:共享軟體
下載地址:http://www.dobysoft.com/procts/nativej/download.html
四、Excelsior JET。
說明:可以直接將Java類文件製作成exe文件,除AWT和Swing及第三方圖形介面外可不需jre支持(Java5.0不行)。
軟體性質:共享軟體
下載地址:http://excelsior-usa.com/home.html
五、jshrink。
說明:可將Jar文件打包進exe文件。同時具有混淆功能(這才是它的主要功能)。
軟體性質:共享軟體
下載地址:http://www.e-t.com/jshrink.html
六、InstallAnywhere。
說明:打包工具,對Java打包最好用。可打包成各操作系統運行包。包括Windows系統。
軟體性質:商業軟體。
下載地址:http://www.zerog.com/
七、InstallShieldX。
說明:與InstallAnywhere類似,但比InstallAnywhere功能強大。相對的,比較復雜,不易上手,我現在還沒學會。
軟體性質:商業軟體。
下載地址:http://www.installshield.com/
【Java開源打包工具】
IzPack 是一個 Java 安裝程序製作工具,能夠製作一些簡單的安裝程序。製作出來的安裝程序能在 Unix-like, MacOS X, Windows 等系統平台上運行。
使用JSmooth將做好的JAR包裝成EXE。
launch4j是Java應用程序的Windows本地可執行文件 (.exe) 封裝器。提供了本地彈出屏幕,應用程序圖標,JRE搜索或使用綁定的JRE,啟動失敗反饋,傳遞命令行參數,ant腳本。
VAInstall是多平台的安裝程序。你要包裝起來的軟體可以是可執行的 java class, Windows .EXE, Linux 可執行檔,或者是 UNIX shell 檔案。使用者可以選擇四種安裝的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空間,他不會使用任何大的暫存檔案,而且還可以很容易使用反安裝功能。
Toolshed是一個既小又簡單的JAVA安裝製作工具。
AntInstaller通過XML文件定義UI,用Ant做後台。所以ANT所能做的事情AntInstaller同樣也勝任。
FreeInstaller能夠把JAVA程序打包成多種平台下的應用程序比如UNIX, LINUX 和 Windows NT.
這個工具利用 ANT 來製作在 Windows, MacOS X, Unix 平台上可執行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基於 GPL 發布。
Mini Installer是用來構建JAVA安裝程序一個簡單類包。整個過程以腳本為驅動,最後結果是一個獨特的JAR文件。用戶可以通過雙擊來執行一個類似向導的安裝過程。
Antigen (Ant Installer Generator)這個工具結合一個ANT構建腳本與一個GUI來把Java文件打包成可執行的Jar文件。它的主要目的是從Ant腳本創造一個強大的圖形安裝工具。
Packlet是一個針對Java的簡單安裝工具。一個Packlet類似於一個zip或tgz文件。它把應用程序打包成一個單一的可分解的壓縮文件。Packlet文件能夠在任何有安裝Java 2運行環境的機器上運行。
Java Service Wrapper可以把Java應用程序安裝成一個Windows NT服務或Unix Daemon.它同時還為應用程序提供日記功能,靈活的配置,可靠的運行性能,按需求重新啟動,簡化應用程序的安裝等,>
JPackIt可以把Java工程打包成一個可執行的包(如:jar,class或exe).包括所有Java應用程序資源如:代碼,圖片,屬性文件和被引用的第三方包.>
One-JAR可以解決如何把一個依賴於多個其它jar文件的應用程序發布成一個單一的可執行Jar文件.它使用一個可定製的類裝載器(classloader)來打開在主Jar中的Jar文件包. >
Autojar幫助從不同的inputs(如:自身classes,外部文檔等)製作最小的Jar文件。它從一個或多個給定的classes開始,依據位元組碼(bytecode)遞歸搜索相關聯的classes,然後從input文檔中提取這些Classes,並把它們拷貝到output中. 最終的文檔將只包含真正需要的classes. 因而能夠保持applet的大小並降低applet的載入時間或者讓應用程序獨立於第三方類庫。>
MJAR(Managed Jar Framework)Java軟體分發/打包框架。它允許在相同VM內並行部署classloader分離的應用程序。MJAR使用Spring框架來管理內部組件。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lesorb/archive/2009/02/18/3905439.aspx
❼ 如何在mac下給java的打包jar程序寫啟動腳本。
這個問題好深奧啊。。上面的不是個批處理文件嗎?
我在MAC下沒見過這樣的文件格式額。
❽ JAVA打包好的JAR程序怎麼讓別人去運行
啟動jar的方法本質是通過java命令啟動jvm,然後jar裡面的代碼運行在jvm裡面。所以你只要把java命令寫到一個bat腳本,雙擊運行就可以了。