| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- r"""P12-B(续):Java 后端启动器(灰度期与 Python 并存,端口 28120)。
- 用法:python app_backEnd/backend-java/run_java.py [--port 28120]
- 先 `python build_offline.py` 生成 target/classes 与 target/lib,再用 `java -cp` 起(离线,不依赖 mvn 打包)。
- """
- from __future__ import annotations
- import argparse
- import os
- import pathlib
- import subprocess
- import sys
- HERE = pathlib.Path(__file__).resolve().parent
- JAVA = pathlib.Path(r'D:\Program Files\Java\jdk1.8.0_202\bin\java.exe')
- def main() -> int:
- ap = argparse.ArgumentParser()
- ap.add_argument('--port', default='28120')
- a = ap.parse_args()
- classes = HERE / 'target/classes'
- lib = HERE / 'target/lib'
- if not classes.exists():
- print('缺少 %s —— 先跑 build_offline.py' % classes)
- return 2
- cp = os.pathsep.join([str(classes)] + ([str(lib / '*')] if lib.exists() else []))
- exe = JAVA if JAVA.exists() else 'java'
- env = dict(os.environ, SERVER_PORT=a.port)
- print('启动:', exe, '-cp', cp[:80] + '…', 'GuanlanBackendApplication')
- return subprocess.call([str(exe), '-Dfile.encoding=UTF-8', '-cp', cp,
- 'com.guanlan.backend.GuanlanBackendApplication'], cwd=str(HERE), env=env)
- if __name__ == '__main__':
- raise SystemExit(main())
|