2017-04-06 66 views
0

我在一個包含2個目錄的目錄中有一個ant項目:binsrc以及兩個文件build.xmlscript.shAnt:在bash腳本中添加java類的路徑

script.sh具有命令:

time java SomeTestClass 

SomeTestClass其中在bin一個類。在bash腳本中使用build.xml執行以下操作:

<target name="run"> 
    <exec executable="/bin/bash"> 
      <arg value="script.sh"/> 
    </exec> 
</target> 

然而,當我建立使用ant我得到一個錯誤:

[exec] Error: Could not find or load main class SomeTestClass 

我怎麼能有bash腳本看到Java類SomeTestClass?我試圖在bash腳本添加./bin/SomeTestClass,而是改爲錯誤:

Error: Could not find or load main class ..bin.SomeTestClass 
+0

如果從命令行運行腳本,如'./ script.sh',會發生什麼情況? –

+0

@NikitaSkvortsov同樣的事 – Cauchy

回答

0

的問題是在呼喚SomeTestClass。這裏有幾個選項:

  1. 您必須確保將.class文件的位置添加到類路徑中。所以,如果它在當前文件夾中,然後添加。 - 到classpath
  2. 如果該類在包中thepackagename它必須與它的完全限定的名字叫:

java -classpath . thepackagename.TheClassName 請閱讀fcomplete指南: Error: Could not find or load main class

1

使用這個腳本:

time java -cp bin SomeTestClass 
+0

@NikitaSkortsov工作的感謝。 – Cauchy