0
すべてのURLを.propertiesファイルの&パスに入れようとしています。だから私がそれらを変更しようとすれば、それはより簡単だろう。だからここに私のpath.properties(それがメイン\リソース\ SRCでの\ META-INF \春の\ path.properties)です:.propertiesファイル内のパスを読み取る
path.clientIdentify=C:\\Palms\\client-identify-bin\\dll
path.clientEnroll=C:\\Palms\\client-enroll-bin\\dll
path.pvInfoIni=C://Palms//PV//PVInfo.ini
path.pvEnrollIni=C://Palms//PV//PVEnroll.ini
そして私は私のコントローラ内のパスを呼び出すようにしようとしていたので、これはどのような私ですしました:
@Controller
@RequestMapping("/call")
public class PalmsController {
@RequestMapping(value = "/palmsIdentify")
public ResponseEntity<String> palmusIdentify() throws IOException, InterruptedException {
Properties properties = new Properties();
try (InputStream is = new FileInputStream("classpath*:META-INF/spring/*.properties")) {
properties.load(is);
}
HttpHeaders headers = new HttpHeaders();
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "StartSample.bat");
builder.directory(new File("path.clientIdentify"));
Process process = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
r.close();
process.waitFor();
Properties p = new Properties();
try {
p.load(new FileInputStream("path.pvInfoIni"));
String pvidNO1 = p.getProperty("PVIDNO");
String pvidNo2 = p.getProperty("PVIDNo");
String authentication = p.getProperty("Authentication");
// Convert to JSON
JSONObject jsonObject = new JSONObject();
jsonObject.put("pvId", pvidNO1);
jsonObject.put("PVIDNo", pvidNo2);
jsonObject.put("is_Authenticated", authentication);
return new ResponseEntity<String>(jsonObject.toString(),headers ,HttpStatus.OK);
}
catch (Exception e) {
return new ResponseEntity<String>("{\"ERROR\":" + e.getMessage() + "\"}", headers,
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@RequestMapping(value = "/palmusEnroll")
public ResponseEntity<String> palmusEnroll() throws IOException, InterruptedException {
Properties properties = new Properties();
try (InputStream is = new FileInputStream("classpath*:META-INF/spring/*.properties")) {
properties.load(is);
}
HttpHeaders headers = new HttpHeaders();
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "StartSample.bat");
builder.directory(new File("path.clientEnroll"));
Process process = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
r.close();
process.waitFor();
// PARSING
Properties p = new Properties();
try {
p.load(new FileInputStream("path.pvEnrollIni"));
String pvidNO1 = p.getProperty("PVIDNO");
String palmusId = p.getProperty("PALMUS_ID");
// Convert to JSON
JSONObject jsonObject = new JSONObject();
jsonObject.put("pvId", pvidNO1);
jsonObject.put("palmusId", palmusId);
return new ResponseEntity<String>(jsonObject.toString(),headers ,HttpStatus.OK);
}
catch (Exception e) {
return new ResponseEntity<String>("{\"ERROR\":" + e.getMessage() + "\"}", headers,
HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
しかし、それはパスを呼び出さないようです。それとも正しいことをしていないのでしょうか?申し訳ありません初心者ここ、私は誰かが私を助けることを願っています。ありがとうございました。
まだ動作しませんでした。 –
あなたのコードがプロパティファイルをロードしていてもデバッグできますか? – kevto
エラーリソースが見つかりません。したがって、プロパティファイルはロードされません。何故ですか? @KendallH。 –