亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring boot - 如何在 Process Builder 中指定 Java 路徑

Spring boot - 如何在 Process Builder 中指定 Java 路徑

肥皂起泡泡 2021-11-11 15:47:40
我的系統中有 Java 7 作為默認配置。但是我必須僅在春季啟動時使用 Java 8。以下命令在我的終端中運行良好。ubuntu@karthick:~$ JAVA_HOME=/opt/jdk1.8.0_181 mvn spring-boot:run但是當我嘗試從 Process Builder 執行它時,它顯示錯誤。代碼:ProcessBuilder pb = new ProcessBuilder("JAVA_HOME=/opt/jdk1.8.0_181", "mvn", "spring-boot:run");pb.directory(new File("/home/ubuntu/project/springbootexample"));Process p = pb.start();我收到以下錯誤error=2, No such file or directory. Stacktrace follows:java.io.IOException: error=2, No such file or directory    at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)    at java.lang.ProcessImpl.start(ProcessImpl.java:130)    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)    ...    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:198)    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)    at net.bull.javamelody.JspWrapper.invoke(JspWrapper.java:150)    at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:281)    at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202)    at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180)    at com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)    at java.lang.Thread.run(Thread.java:744)如何解決問題?
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

我建議創建一個腳本文件(下面的 test.sh),您可以在其中設置 java home 并添加其他命令來運行 spring boot 并使用以下代碼從 java 調用該腳本:


  String[] args = { "/bin/bash", "test.sh"};


        StringBuilder builder = new StringBuilder();

        Process p2 = null;

        String result = null;

        String[] cmd = { "sudo", "-s" };

        Runtime.getRuntime().exec(cmd);

        p2 = Runtime.getRuntime().exec(args);

        BufferedReader reader = new BufferedReader(new 

       InputStreamReader(p2.getInputStream()));

        String line;

        while ((line = reader.readLine()) != null) {

            builder.append(line);

        }

        result = builder.toString();


查看完整回答
反對 回復 2021-11-11
  • 1 回答
  • 0 關注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號