一、Java-jar介紹
Java-jar是Java打包工具中的一種,通常用於將我們寫好的Java程序打包成一個jar包,以方便我們在其他設備上運行。
打包好的jar包在其他設備上運行時,只需要安裝相應的Java虛擬機,然後通過命令行工具執行「java -jar xxx.jar」即可啟動我們的程序。
二、指定埠號的重要性
在我們的Java程序中,通常需要啟動一個網路服務,為客戶端提供服務。而對於這個網路服務,我們需要指定一個埠號。
這個埠號就是為客戶端建立連接時需要使用的埠號,我們可以將其理解為「接待客人的房間號」。
如果我們沒有指定埠號,那麼在啟動服務時會隨機分配一個埠號。這樣會導致客戶端無法知道我們的服務到底在哪個埠號上,不能正常連接。
所以,指定埠號就顯得尤為重要。
三、指定埠號的方法
1.使用命令行參數指定埠號
public static void main(String[] args) { //獲取命令行參數中的埠號 int port = Integer.parseInt(args[0]); //創建ServerSocket try (ServerSocket serverSocket = new ServerSocket(port)) { //監聽埠,等待客戶端連接 Socket socket = serverSocket.accept(); //處理客戶端請求 //...... } catch (IOException e) { e.printStackTrace(); } }
在打包時,執行命令「java -jar xxx.jar 8888」,就能夠指定埠號為8888。
2.使用配置文件指定埠號
public static void main(String[] args) { Properties props = new Properties(); try (FileInputStream in = new FileInputStream("config.properties")) { props.load(in); //獲取配置文件中的埠號 int port = Integer.parseInt(props.getProperty("server.port")); //創建ServerSocket try (ServerSocket serverSocket = new ServerSocket(port)) { //監聽埠,等待客戶端連接 Socket socket = serverSocket.accept(); //處理客戶端請求 //...... } catch (IOException e) { e.printStackTrace(); } } catch (IOException e) { e.printStackTrace(); } }
在config.properties文件中,添加「server.port=8888」配置項即可指定埠號為8888。
3.使用Spring Boot指定埠號
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication app = new SpringApplication(DemoApplication.class); //設置埠號 app.setDefaultProperties(Collections.singletonMap("server.port", "8888")); app.run(args); } }
在Spring Boot程序中,通過設置「server.port」屬性即可指定埠號為8888。
四、總結
Java-jar指定埠號是Java開發中非常重要的一環。通過以上三種方式,我們可以輕鬆地指定埠號,保證服務能夠正常運行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/305013.html