簡體   English   中英

嘗試從Ubuntu 10.04上的Shell腳本運行Java應用程序

[英]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系統上何處以及何處不放置文件。

  1. 將罐子提取到/ opt / yourProgram / *。
  2. Shell腳本也應該在其中。 確保其可執行文件 (即chmod 755 script.sh)
  3. 在調用java之前,在您的Shell腳本中添加cd /opt/yourProgram以具有適合您的程序的工作目錄。
  4. 如果您希望每個人都可以輕松啟動此程序,請在/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM