AppRunner本地运行

目录

前言

环境准备

下载源代码

编译和运行

参考


前言

本文介绍如何在本地环境编译、运行AppRunner。

环境准备

Java 1.8+

D:\>java -version
java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)

git

D:\>git version
git version 2.27.0.windows.1

maven

D:\>mvn -v
D:\
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: D:\sandbox\apache-maven-3.6.3\bin\..
Java version: 11.0.9, vendor: Oracle Corporation, runtime: D:\sandbox\Java\jdk-11.0.9
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

设置M2_HOME环境变量

D:\>echo %M2_HOME%
D:\sandbox\apache-maven-3.6.3

网络:由于国内上github不稳定,建议自备科学上网 

下载源代码

代码已开源 https://github.com/danielflower/app-runner

git clone https://github.com/danielflower/app-runner.git

编译和运行

1. 用IntelliJ(或其他IDE)打开工程

2. 进行mvn clean install,所有unit test都应该通过且maven build成功

 3. 运行RunLocal里的main方法

4. 看到如下日志表示运行成功

00:23:43,935 [main] INFO  Config - Using config file: D:\sandbox\code\app-runner\sample-config.properties
00:23:44,009 [main] INFO  App - SystemInfo{hostName='LAPTOP-ODF35RAF', user='bin9w', pid=14992, publicKeys=[], osName='Windows 10', numCpus=8}
00:23:44,016 [main] INFO  App - Deleting contents of temporary folder at D:\sandbox\code\app-runner\target\local\temp
00:23:44,022 [main] INFO  App - File deletion complete in 7ms
00:23:44,024 [main] INFO  App - Detecting providers...
00:23:45,260 [main] INFO  App - Registered providers...
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) - Maven home: D:\sandbox\apache-maven-3.6.3\bin\.. - Java version: 11.0.9, vendor: Oracle Corporation, runtime: D:\sandbox\Java\jdk-11.0.9 - Default locale: zh_CN, platform encoding: GBK - OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Node v12.18.3 with NPM 6.14.6
00:23:45,262 [main] INFO  AppEstate - Loading app [app-runner-home] (git:https://github.com/danielflower/app-runner-home.git)
00:23:45,515 [main] INFO  AppManager - Clone app app-runner-home from https://github.com/danielflower/app-runner-home.git to D:\sandbox\code\app-runner\target\local\repos\app-runner-home
00:24:25,602 [main] INFO  AppManager - Created app manager for app-runner-home in dir D:\sandbox\code\app-runner\target\local\apps\app-runner-home\data
00:24:26,274 [main] INFO  WebServer - Started web server at null / http://localhost:8080
00:24:27,098 [pool-5-thread-1] INFO  AppManager - getting the contributors [dependabot[bot], Daniel Flower, Stephen Benson, Rajesh Shah, Rika]
00:24:27,125 [pool-5-thread-1] INFO  AppManager - Using maven for app-runner-home
00:24:27,128 [pool-5-thread-1] INFO  MavenRunner - Building maven project at D:\sandbox\code\app-runner\target\local\temp\app-runner-home\instances\1636993467099
00:24:34,122 [pool-5-thread-1] INFO  MavenRunner - Build successful. Going to start app.
00:24:34,139 [pool-5-thread-1] INFO  ProcessStarter - Starting D:\sandbox\code\app-runner\target\local\temp\app-runner-home\instances\1636993467099> D:\sandbox\Java\jdk-11.0.9\bin\java.exe -Djava.io.tmpdir=D:\sandbox\code\app-runner\target\local\temp\app-runner-home -jar target\app-runner-home-1.0-SNAPSHOT.jar
00:24:35,309 [pool-5-thread-1] INFO  ProcessStarter - Completed D:\sandbox\Java\jdk-11.0.9\bin\java.exe in 1170ms
00:24:35,320 [pool-5-thread-1] INFO  ProxyMap - app-runner-home maps to http://localhost:50019/app-runner-home

这时在浏览器打开http://localhost:8080/app-runner-home/就可以看到AppRunner主页了,证明本地运行成功。

5. 我曾经看到过如下错误日志,是连接github不稳定导致的,重跑几次解决了。

00:19:35,774 [main] INFO  AppEstate - Loading app [app-runner-home] (git:https://github.com/danielflower/app-runner-home.git)
00:19:36,019 [main] INFO  AppManager - Clone app app-runner-home from https://github.com/danielflower/app-runner-home.git to D:\sandbox\code\app-runner\target\local\repos\app-runner-home
00:20:16,222 [main] WARN  App - Error while trying to initiliase app-runner-home (https://github.com/danielflower/app-runner-home.git) - will ignore this app.
org.eclipse.jgit.api.errors.TransportException: https://github.com/danielflower/app-runner-home.git: cannot open git-upload-pack
	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:222)
	at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:302)
	at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:178)
	at com.danielflower.apprunner.mgmt.AppManager.create(AppManager.java:71)
	at com.danielflower.apprunner.AppEstate.addApp(AppEstate.java:63)
	at com.danielflower.apprunner.App.start(App.java:72)
	at com.danielflower.apprunner.App.main(App.java:214)
	at com.danielflower.apprunner.RunLocal.main(RunLocal.java:10)
Caused by: org.eclipse.jgit.errors.TransportException: https://github.com/danielflower/app-runner-home.git: cannot open git-upload-pack
	at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:605)
	at org.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:362)
	at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:105)
	at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:91)
	at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1260)
	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:211)
	... 7 common frames omitted
Caused by: javax.net.ssl.SSLException: Connection reset
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:353)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:296)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:291)
	at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1522)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:965)
	at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
	at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)
	at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
	at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746)
	at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)
	at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:717)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
	at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
	at org.eclipse.jgit.transport.http.JDKHttpConnection.getResponseCode(JDKHttpConnection.java:85)
	at org.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:208)
	at org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:510)
	... 12 common frames omitted
	Suppressed: java.net.SocketException: Connection reset by peer: socket write error
		at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
		at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
		at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
		at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:83)
		at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:384)
		... 29 common frames omitted
Caused by: java.net.SocketException: Connection reset
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
	at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:476)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:470)
	at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70)
	at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1308)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:949)
	... 25 common frames omitted
00:20:17,062 [main] INFO  WebServer - Started web server at null / http://localhost:8080

参考

https://github.com/danielflower/app-runner

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值