构建一个Java语言的unikernel,(基于OSv的 unikernel)

pre.ctl { font-family: "Liberation Mono", monospace }
p { margin-bottom: 0.25cm; line-height: 120% }
code.ctl { font-family: "Liberation Mono", monospace }
a:link { }

构建一个Java语言的unikernel,(OSv unikernel)
1、跟着官方教程步骤,与之前构建的rumprun
unikernel(go语言)和includeOS
unikernel(c++语言)不同的是,需要再安装jdk
和 maven
参考教程:
1)Ubuntu 14.04.1中安装JDK
http://www.linuxidc.com/Linux/2015-01/112030.htm

验证证jdk是否安装成功:$ Java --version



2)Ubuntu 14.04.1中安装Maven
http://www.linuxidc.com/Linux/2015-03/114619.htm
验证证maven是否安装成功:$ mvn --version



2、构建osv unikernel的详细教程
https://github.com/cf-unik/unik/blob/master/docs/getting_started_java.md

一、Write a Java HTTP server using Maven

注意事项:
1)pom.xml文件的修改:注意maven-assembly-plugin其内容插入的位置!


2)执行该命令时,如果jdk没有安装正确就会构建失败:
mvn package && java -jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar
执行成功的图:




3)Visit
http://localhost:4000/ to see that the server is running.
测试结果图:



二、Compile an image and run on Virtualbox
1、确保unik
daemon 是运行起的,再执行以下命令:
unik build --name myJavaImage --path PATH_TO_JAVA_PROJECT --base osv --language java --provider virtualbox
注意将PATH_TO_JAVA_PROJECT替换为我们创建java项目根目录的路径。(也就是包含pom.xml文件的目录)。例如:
unik build --name myJavaImage --path /home/shm/myJava/my-app/ --base osv --language java --provider virtualbox
测试运行:




在运行 unik daemon 的终端将显示:



在浏览器中:

pre.ctl { font-family: "Liberation Mono", monospace }
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }

问题是在浏览器中无法浏览,因为该运行实例未分配到IP地址,只有unik_virtualbox有IP地址。
				
时间: 2024-10-10 20:22:57

构建一个Java语言的unikernel,(基于OSv的 unikernel)的相关文章

一个Java语言所写的shop网站框架明细

核心框架Spring Framework :作为一个优秀的开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架. 模板引擎FreeMarker:即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件. 安全框架Pring Security: 基于

使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclipse上安装Buildship 建议直接去Eclipse market处下载,简单方便,如下图: Buildship的更多信息 请参考以下链接,有教程,比较简单, 主要内容: 如何导入Gradle工程, 如何创建Gradle工程, 如何执行Gradle任务, 等... http://projects.e

构建一个docker 的java编译环境

用Dockerfile 构建一个java的编译环境 1.包括以下软件包 ubuntu jdk maven svn 2.jdk.maven 需要手动下载,下载之后分别为 jdk-8u51-linux-x64.gz apache-maven-3.3.3-bin.tar.gz 3.创建一个Dockerfile文件,包含以下内容 FROM ubuntu RUN apt-get update RUN apt-get -y install subversion ADD jdk-8u51-linux-x64.

使用Maven构建一个简单的java工程

原文是我在学习Spring的过程中,在Spring的官网上看到的一个指南:BuildingJava Projects with Maven--http://spring.io/guides/gs/maven/#scratch.我也是刚接触Maven.看到这篇文章觉得非常简单,但又非常实用,尤其是对于像我这样的Maven初学者.基本上看了这篇后能大概知道Maven是个什么东西,干点什么事,并能够上手使用Maven做点小例子.所以忍不住就把它整理成中文,发出来分享一下,帮助初学者.并没有对原文完整翻

1.1 java语言的发展简史

java语言的诞生具有一定的戏剧性,它并不是经过精心策划.制作,最后产生的划时代产品,从某个角度耐看,java语言的诞生完全是一种误会. 1900年年末,Sun公司预料嵌入式系统将在未来家用电器领域大显身手.于是Sun公司成立了一个由 James Gosing 领导的"Green 计划",准备为下一代智能家电(如电视机.微波炉.电话)编写一个通用控制系统. 该团队最初考虑使用 C++ 语言,但是很多成员包括Sun的首席科学家 Bill Joy, 发现C++和可用的API在某些方面存在很

Java语言出现的背景、影响及应用前景分析

一.背景 1991年 ,SUN MicroSystem公司的 Jame Gosling. Bill Joe等人 ,为在电视.控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件 (即一种橡树的名字 ),但当时并没有引起人们的注意 ,直到 1994年下半年 ,Internet的迅猛发展 ,环球信息网 WWW的快速增长 ,促进了 Java语言研制的进展 ,使得它逐渐成为 Int ernet上受欢迎的开发与编程语言 ,一些著名的计算机公司纷纷购买了 Java语言的使用权 ,如

基于Java语言构建区块链(一)—— 基本原型

引言 区块链技术是一项比人工智能更具革命性的技术,人工智能只是提高了人类的生产力,而区块链则将改变人类社会的生产关系,它将会颠覆我们人类社会现有的协作方式.了解和掌握区块链相关知识和技术,是我们每位开发人员必须要去做的事情,这样我们才能把握住这波时代趋势的红利. 本文将基于Java语言构建简化版的blockchain,来实现数字货币. 创建区块区块链是由包含交易信息的区块从后向前有序链接起来的数据结构.区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块.以比特币为例,每个区块主要包含

基于Java语言构建区块链(三)—— 持久化 & 命令行

引言上一篇 文章我们实现了区块链的工作量证明机制(Pow),尽可能地实现了挖矿.但是距离真正的区块链应用还有很多重要的特性没有实现.今天我们来实现区块链数据的存储机制,将每次生成的区块链数据保存下来.有一点需要注意,区块链本质上是一款分布式的数据库,我们这里不实现"分布式",只聚焦于数据存储部分. 给大家推荐一个java内部学习群:725633148,进群找管理免费领取学习资料和视频.没有错就是免费领取!大佬小白都欢迎,大家一起学习共同进步! 数据库选择 到目前为止,我们的实现机制中还

构建一个学生Student,根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

定义一个表示学生信息的类Student,要求如下: (1)类Student的成员变量: sNO 表示学号: sName表示姓名: sSex表示性别: sAge表示年龄: sJava:表示Java课程成绩. (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作. (3)类Student的方法成员: getNo():获得学号: getName():获得姓名: getSex():获得性别: getAge()获得年龄: getJava():获得Java 课程成绩 根据类