src2absでNullPointExceptionが返ってくる
結論
src2absのファイルパスは相対パスで書きましょうという。例:./sample.java
困ったこと
src2absというプログラミング解析ツールをpythonのsubprocessから実行したがエラーが返ってくる。
コード
import subprocess
input_file_path = "0a880965_e08adf83_0_after.java"
cp = subprocess.run(["java", "-jar","src2abs-0.1-jar-with-dependencies.jar", "single","method",input_file_path,"test.java","idioms.csv"])
結果
Exception in thread "main" java.lang.NullPointerException
at java.nio.file.Files.provider(Files.java:97)
at java.nio.file.Files.readAttributes(Files.java:1737)
at java.nio.file.Files.isDirectory(Files.java:2192)
at edu.wm.cs.src2abs.AbstractorManager.checkParentFolderExists(AbstractorManager.java:121)
at edu.wm.cs.src2abs.AbstractorManager.checkInputs(AbstractorManager.java:117)
at edu.wm.cs.src2abs.AbstractorManager.abstractCode(AbstractorManager.java:20)
at edu.wm.cs.src2abs.main.AbstractorMain.abstractCode(AbstractorMain.java:48)
at edu.wm.cs.src2abs.main.AbstractorMain.main(AbstractorMain.java:25)
解決策
相対パスで書きましょう。
import subprocess
import sys
input_file_path = "./0a880965_e08adf83_0_after.java"
cp = subprocess.run(["java", "-jar","src2abs-0.1-jar-with-dependencies.jar", "single","method",input_file_path,"./test.java","./idioms.csv"])
そうするとうまく実行できました。
Source Code Abstracted successfully!
Abstracted Code: ./test.java
Mapping: ./test.java.map
終わりに
かなりニッチなケースですが情報がなかったので書きました。
Author And Source
この問題について(src2absでNullPointExceptionが返ってくる), 我々は、より多くの情報をここで見つけました https://qiita.com/teruto725/items/48edfde2739124fd2a60著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .