[英]Access UNIX server and run a shell script from java application
[英]Trying to run a java application from a shell script on Ubuntu 10.04
我的Java程序是在Windows機器上編寫的,我試圖在Ubuntu 10.04機器上安裝並運行它。 我已經創建了一個帶有myProgram.jar的.tar.gz文件,以及一個lib文件夾中的5個支持庫.jar文件。 這些文件放在哪里? 我需要在Linux機器上將其解壓縮到usr / bin文件夾嗎? shell腳本是否在tar.gz內? 我已經讀到,如果您在Windows機器上編寫Shell腳本,將其移至Linux機器后可能會遇到問題,因此我正在使用gedit在Linux機器上編寫Shell腳本。 我只是不確定下一步該怎么做。 到目前為止,我的腳本中
#!/bin/bash
java -jar myProgram.jar
我將嘗試將tar.gz文件提取到usr / bin目錄中,並查看其是否運行。 任何建議或幫助將不勝感激。 預先感謝,雷
我不太清楚你在找什么。
如果將腳本和myprogram.jar放在同一級別,則編寫的腳本應該絕對可以正常工作。
而且我不確定您的myprogram.jar如何引用依賴庫。 所以不能對此發表評論。 最好的選擇是將腳本和所有jar放在一起,然后嘗試運行腳本。
您的問題相當“廣泛” :)。 希望以下內容對您有所幫助。
不要將文件解壓縮到/ usr / bin。 請參閱例如http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ,以了解在* nix系統上何處以及何處不放置文件。
java
之前,在您的Shell腳本中添加cd /opt/yourProgram
以具有適合您的程序的工作目錄。 /usr/bin
或更好的/usr/local/bin
創建一個指向腳本的符號鏈接 。 在其他所有方法都正常工作之后,請作為最后一步執行此操作。 在您的shell腳本中,您必須將其他jar添加到類路徑中,例如
java -cp lib/some.jar:lib/other.jar -jar myProgram.jar
要么
java -cp lib/some.jar:lib/other.jar:myProgram.jar com.acme.ClassContainingMain
推薦的實踐:在腳本的開頭添加set -e
正如您已經提到的,使用Windows編輯器編輯Shell腳本被認為是有害的。 原因是Windows編輯器將對換行符(即您按Return鍵)進行不同的編碼。 這將使bash嘔吐:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.