2013-10-07 64 views
-1

基本上,我爲我的一些Java腳本編寫了一個編譯器,它在Windows上工作得很好 - 但我無休止地嘗試在Linux上工作 - 但沒有運氣。將Java編譯器轉換爲Linux

@echo off 
"C:\Program Files\Java\jdk1.7.0_25/bin/javac.exe" -d bin -cp lib/*; -sourcepath src src/com/ar/*.java src/com/ar/cache/*.java src/com/ar/cache/loaders/*.java src/com/ar/cores/*.java src/com/ar/function/*.java src/com/ar/function/item/*.java 
pause 

這工作得很完美。

基本上我做了什麼,是我改變了Javac(完美工作)的路徑,以及。 試圖刪除空格&放一個分號。

謝謝。

+0

你在你的linux機器上安裝了什麼jdk?什麼是失敗信息? – roippi

+0

JDK1.7.0_40。 使用以下代碼:**/usr/java/jdk1.7.0_40/bin/javac -d bin -cp lib /; -sourcepath src src/com/ar/.java src/com/ar/cache/.java src/com/ar/cache/loaders/.java src/com/ar/cores/.java src/com/ar/function /.java src/com/ar/function/item/*。java **它給出了: ** compile.sh:第1行:-sourcepath:command not found ** 然後我刪除了-sourcepath&it只是給出了一堆抱怨實際Java代碼的錯誤(順便說一句,這不是錯誤的)。似乎它試圖將Java代碼作爲參數或其他東西來處理。 – user1622951

+0

作爲一個開始,在「-cp lib /」之後擺脫分號 –

回答

2

你是Linux新手? Linux不執行像Windows這樣的批處理腳本,而是執行shell腳本。 Shell腳本更容易使用,功能也更強大,但語法不同,因此Windows .bat文件不會在Linux中神奇地工作。

的等效腳本可能是:

#!/bin/bash 
javac -d bin -cp lib/ -sourcepath src $(find src -name '*.java') 

一些提示:路徑在Linux中,標註:而在Windows路徑用;

$(find ...)調用基本上只是一個說「src中的所有.java文件」的快捷方式。

否則,將它們全部手動列出,就像您在原始示例中完成的那樣工作得很好。

相關問題