지금은 파이썬 스크립트를 실행할 수 있도록 절대 파일 경로가 내 Java 프로그램에 하드 코드되어 있습니다. 그러나 내 프로그램이 회사의 플랫폼에 배포되면이 파일 경로가 더 이상 올바르지 않게됩니다. 스크립트는 호출하는 클래스의 동일한 디렉토리에 있으며이 디렉토리 구조는 변경되지 않습니다. 동일한 디렉토리에있는 스크립트를 기반으로 실행하는 방법이 있습니까?하드 코드 된 파일 경로없이 Java에서 Python 스크립트를 어떻게 실행합니까?
2
A
답변
2
당신은 자바 클래스에서 실행 된 파일의 경로를 반환하려면이 옵션을 사용할 수 있습니다 : 당신은 다음 현재 디렉토리를로드하고 파이썬 스크립트를 실행하려면이 path
객체를 사용할 수 있습니다
final File path = new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath());
.
0
@Confiqure가 제안한 것을 시도한 후에, 경로가 내 프로그램의 디렉토리 구조에 너무 일고있는 것으로 나타났습니다. 대신에 나는 시도했다 : 나는 내 자신의 응용 프로그램에 상대적인 경로를 변경하지 않을 것이라는 점을 알고, 상대 경로를 하드 코딩 자신의
String path = new File("").getAbsolutePath + "/my/path/to/script";
new File("").getAbsolutePath
내 응용 프로그램과에서 경로를 반환했습니다.
관련 문제
- 1. 경로없이 파이썬 파일을 어떻게 실행합니까?
- 2. Javascript에서 Python 스크립트를 어떻게 실행합니까?
- 3. Java에서 PHP 스크립트를 어떻게 실행합니까?
- 4. Heroku에서 python 스크립트를 어떻게 실행합니까?
- 5. 어떻게 Python 스크립트를 지속적으로 실행합니까?
- 6. 하드 코드 된 경로없이 앱을 닫을 때 소리 재생
- 7. Java에서 Python 스크립트를 어떻게 죽입니까?
- 8. 파일에서 python 스크립트를 어떻게 실행합니까? (UNIX)는
- 9. 웹 서버에서 Python 스크립트를 어떻게 실행합니까?
- 10. Java에서 Excel 매크로를 어떻게 실행합니까?
- 11. OpenElec에서 파이썬 스크립트를 어떻게 실행합니까?
- 12. 윈도우에서 스크립트를 어떻게 실행합니까?
- 13. 어떻게 파이썬 스크립트를 쉘 스크립트로 실행합니까?
- 14. Java에서 Windows 명령을 어떻게 실행합니까?
- 15. 하드 코드 된 hibernate.cfg.xml
- 16. python 스크립트에서 수식을 어떻게 실행합니까?
- 17. 매초마다 PHP 스크립트를 어떻게 실행합니까?
- 18. Eclipse Plugin에서 스크립트를 어떻게 실행합니까?
- 19. 우분투에서이 bash 스크립트를 어떻게 실행합니까?
- 20. 이클립스에서 gdb 스크립트를 어떻게 실행합니까?
- 21. pyparsing이 필요한 파이썬 스크립트를 어떻게 실행합니까?
- 22. 어떻게 명령 줄 인수로 python/pygame 스크립트를 실행합니까?
- 23. jQuery를 사용하여 서버 측 Python 스크립트를 어떻게 실행합니까?
- 24. 디렉토리의 모든 파일에 대해 python 스크립트를 어떻게 실행합니까?
- 25. Windows에서 레일즈 3.0.7에서 IronRuby 스크립트를 어떻게 실행합니까?
- 26. DOM에서로드 된 javascript를 어떻게 실행합니까?
- 27. python 스크립트를 통해 하드 코딩 된 이벤트를 piwik으로 보내는 방법
- 28. Django 프로젝트 컨텍스트에서 임의의 스크립트를 어떻게 실행합니까?
- 29. 레일즈에서 레일즈 환경을로드하는 스크립트를 어떻게 실행합니까?
- 30. BAT 파일 암호 하드 코드
'org.python.util.PythonInterpreter'를 사용하고 있습니까? –
왜 절대 경로가 필요합니까? 클래스 경로에 있다면 앱을 가져온 곳에서 작동하는 "./something/script"로 호출하는 방법이 있어야합니다. –
@CoderinoJavarino scriptPath.exists()는 상대 경로에 대해 false를 반환하고 절대 경로에 대해서만 true를 반환합니다. – SVN600