рд╢реБрджреНрдз рдЕрдЬрдЧрд░ рдореЗрдВ рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди

рд╕рд╛рдерд┐рдпреЛрдВ,

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬреЛ рдЬрд╛рд╡рд╛ + рдЕрдЬрдЧрд░ + рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдг рдЕрдЬрдЧрд░ рдореЗрдВ jdk7 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред (рдЕрдЬрдЧрд░ рдореЗрдВ рдЬрд╛рд╡рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп)

рдХреЛрдб www.pyjvm.org рдпрд╛ github рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ: github.com/andrewromanenco/pyjvm



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
java -cp . some.code.ToExecute
рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ ...
python java.py -cp . some.code.ToExecute

рдХреБрдЫ рдиреЛрдЯ (рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛):



(!!) рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рднреА рдЬрд╛рд╡рд╛ рдПрдкрд┐ рджреЗрд╢реА рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛: Exception: Op (SOME_NAME_HERE) is not yet supported in natives

рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ: рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 5 рдирд┐рдГрд╢реБрд▓реНрдХ рдорд┐рдирдЯ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

1ред
git рдХреНрд▓реЛрди рдХреНрд▓реЛрди github.com/andrewromanenco/pyjvm.git

2ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ jdk7 рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ: get_rt.py ./rt рд╕реЗ - rt.jar (java classes) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝реЗрдВ
рдЕрдЧрд░ jdk7 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ - JAVA_HOME рдХреЗ тАЛтАЛрд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

3ред
рд╕реАрдбреА рд╡реГрд╖рдг
python test_runner.py> output.txt
python test_report.py output.txt

4ред
рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдмреБрд░рд╛ рд╣реИ - рд▓рд┐рдЦреЛ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ - рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬреАрдердм рдореЗрдВ - рдЖрдкрдХреЗ рдУрдПрд╕ рдХреЗ рд╕рд╛рдеред

рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In218577/


All Articles