bashスクリプトを介してCygwinでJAVAを実行する

bashスクリプトを介してCygwinでJAVAを実行する

cygwinでjarファイルを実行できず、ファイルが見つからないというエラーが発生する問題が発生しました。

簡単であれば、bashでJavaソースコードを「翻訳」したでしょう。しかし、残念ながら、実装機能のためにこれを達成するのにかなり大きな障害があるため、jarファイルを使用する必要があります。

これでこれを行う方法を見つけるためにかなりの研究を行いましたが、成功することはできません。cygwinを使用する必要があります。

これが私が基本的にやりたいことです:

lockfile="$specialfolder/$passedargument.lock
java -jar `cygpath -w ./cygdrive/driveletter/folder/folder/javafile.jar -joption cygpath -w $lockfile`

また、次のようにダブルバックティックを試してみました。

pathtooutfile="${some_other_vars}/${that}_${work}.out"
java -jar `cygpath -w ./cygdrive/driveletter/folder/folder/javafile.jar` -joption `cygpath -w $lockfile`

$JAVA_HOME環境変数を試してみましたが、うまくいきませんでした。という変数があることを言及する価値があります。ロックファイルvar は次のように定義されます。

 homedir= "/cygdrive/driveletter/folder/folder"
 specialfolder= "$homedir/foler/$passedargument"
 passedargument= $1 ###argument passed with execution of bash script
 lockfile= "$specialfolder/$passedargument"

引き続き発生するエラーは次のとおりです。エラー:jarfileにアクセスできません。 ライセンスを777に修正しましたが、それもできませんね。次のように言及することもできます。-j オプションまたは-得るまたは-解放するに該当ロックファイルjarが実行することの1つは、ファイルをロックして複数のスクリプトの実行を管理することです。ちょっとついているのでどんなアドバイスでも大変感謝します。私はこれがcygwinの問題に近いと思います。

ベストアンサー1

試してみましたか?cygpath -w -a .....

-a絶対パスを返します。

例えば

$ cygpath -w ./screenshot.jpg
screenshot.jpg

$ cygpath -w -a ./screenshot.jpg
C:\cygwin64\home\tony\screenshot.jpg

おすすめ記事