最近,我的一个好朋友在使用公共Oracle Maven存储库构建ADF应用程序v.12.2.1.2时经常遇到问题。 他要求我检查它是否对我有用。 好吧……没有。 因此,存储库存在一些问题。 为了使实验整洁并避免对我的工作环境造成任何影响,我决定在docker容器中运行测试。

而且即使我不能帮助我的朋友(抛出一些依赖异常也无法正常工作),作为此检查的结果,我得到了一个可重用的docker映像,该映像用作ADF应用程序的预配置构建机器(适用于12.2版)。 1.3那时,Oracle Maven存储库运行良好。

这是我所做的:

1.拉并运行ubuntu Docker映像

$: docker run -it --name adfbuilder ubuntu

2.在adfbuilder容器中安装Java

apt-get install software-properties-common python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer

3.在adfbuilder容器中安装Maven

只需下载Maven二进制文件并将其解压缩到某个文件夹中,然后复制到容器中即可:

docker cp ~/Downloads/apache-maven-3.5.2 adfbuilder:/opt/apache-maven-3.5.2

更新容器中的PATH环境变量

export PATH=$PATH:/opt/apache-maven-3.5.2/bin

完成后, mvn应该可用。 在容器中运行它,它将在用户家中创建一个隐藏的.m2文件夹。

4.在adfbuilder容器中配置Maven以与Oracle Maven存储库一起使用

只需放入隐藏的.m2文件夹

docker cp settings.xml adfbuilder:/root/.m2/settings.xml

包含以下内容的settings.xml文件:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                       https://maven.apache.org/xsd/settings-1.0.0.xsd"><servers><server><id>maven.oracle.com</id><username>eugene.fedorenko@flexagon.com</username><password><MY_PASSWORD></password><configuration><basicAuthScope><host>ANY</host><port>ANY</port><realm>OAM 11g</realm></basicAuthScope><httpConfiguration><all><params><property><name>http.protocol.allow-circular-redirects</name><value>%b,true</value></property></params></all></httpConfiguration></configuration></server></servers><profiles><profile><id>main</id><activation><activeByDefault>true</activeByDefault></activation><repositories><repository><id>maven.oracle.com</id><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots><url>https://maven.oracle.com</url><layout>default</layout></repository></repositories><pluginRepositories><pluginRepository><id>maven.oracle.com</id><url>https://maven.oracle.com</url></pluginRepository></pluginRepositories></profile></profiles>
</settings>

基本上,这足以在容器中编译Maven配置的ADF应用程序。 我们需要确保可以从容器访问我们的应用程序的源代码。 可以通过将源文件夹映射为从容器可见或仅将其复制到容器中来完成。

docker cp / mywork / MySampleApp adfbuilder:/ opt / MySampleApp

完成此操作后,我们可以运行以下命令来编译应用程序:

docker exec adfbuilder mvn -f /opt/MySampleApp/pom.xml编译

5.将JDeveloper二进制文件复制到容器中

由于我们希望超越这一点,不仅能够编译,而且能够生成可部署的工件(耳朵,罐子等),所以我们需要将JDeveloper二进制文件放入容器中(基本上, maven需要ojdeploy)。 我刚刚将Mac_目录中的Oracle_Home文件夹复制到了容器中:

docker cp /My_Oracle_Home adfbuilder:/opt/Oracle_Home

所以,现在我能够建立一个耳朵我的容器应用程序:

docker exec adfbuilder mvn  -f /opt/MySampleApp/pom.xml package -DoracleHome=/opt/Oracle_Home

对于第一次运行,它可能会要求您提供JDK的路径

[INFO] Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /root/.jdeveloper/12.2.1.3.0/product.conf/usr/lib/jvm/java-8-oracle

6.提交对容器的更改
我们需要做的最后一件事是将更改提交到容器:

docker commit adfbuilder efedorenko/adfbuilder

这将创建一个新的ubuntu映像,其中包含我们应用的所有更改。 我们可以轻松地在基础架构中的任何位置运行该映像,并将其用作ADF应用程序的构建机器。 它的优点在于我们可以在像Docker Cloud(由AWS,Microsoft Azure,Digital Ocean等支持)或Oracle容器云服务等云中运行它,也可以随便使用它。 使用这种方法,云中的服务器可以为您构建应用程序,这通常是一项非常耗资源的工作。

就是这样!

翻译自: https://www.javacodegeeks.com/2018/01/building-oracle-adf-applications-docker.html

使用Docker构建Oracle ADF应用程序相关推荐

  1. oracle adf_Fn函数来构建Oracle ADF应用程序

    oracle adf 在我之前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能 ...

  2. Fn函数来构建Oracle ADF应用程序

    在我以前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能要求,这意味着可以将其 ...

  3. oracle adf源代码在哪里,第 3 章 | 从设计到实践全面了解 Oracle ADF 应用程序

    从设计到实践全面了解 Oracle ADF 应用程序 作者:Chris Muir 和 Penny Cookson 第 3 章 -"应该具备"需求:创建一个大众化应用程序 2009 ...

  4. docker构建oracle集群,docker 构建 oracle数据库 镜像-Go语言中文社区

    前言 之前docker 部署的 oracle 镜像,突然从 dockerhub 下架了.所以没办法,只能自己打包一个oracle 数据库的镜像. 找来找去,其实oracle 自身就提供了oracle ...

  5. junit5_使用JUnit对ADF应用程序进行单元测试

    junit5 JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用来测试Oracle ADF应用程序. 单元测试基本上是根据某些定义的测试标准来验证最小的可测试模块的 ...

  6. 使用junit进行单元测试_使用JUnit对ADF应用程序进行单元测试

    使用junit进行单元测试 JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用于测试Oracle ADF应用程序. 单元测试基本上是根据某些定义的测试标准来验证最小 ...

  7. 使用JUnit对ADF应用程序进行单元测试

    JUnit是Java语言的单元测试软件包,由于ADF构建在J2EE框架之上,因此可以用来测试Oracle ADF应用程序. 单元测试基本上是根据某些定义的测试标准来验证最小的可测试模块的过程. 在这里 ...

  8. 使用WebLogic共享库连续交付ADF应用程序

    介绍 当ADF应用程序建立在共享库之上时,有一种非常流行的架构模式. 因此,主应用程序被部署为EAR,并且所有子系统都在共享库中实现,这些共享库可以在"热"模式下独立构建并作为JA ...

  9. 在docker中构建普通java程序_Docker入门-构建第一个Java程序

    原标题:Docker入门-构建第一个Java程序 定制镜像 准备一个没有第三方依赖的java web项目,可能参考示例maven结构项目: session-web.war 把该war上传到安装有doc ...

最新文章

  1. 说说如何基于 Vue.js 实现表格组件
  2. html页面关闭前提示信息,【转】表单提交及关闭当前页面并刷新数据
  3. Linux下获取详细硬件信息的工具:Dmidecode命令详解
  4. leetcode算法题-- 最长递增子序列的个数★
  5. cgroup 介绍 与使用
  6. 【信息抽取】介绍一种端到端的关系抽取方法
  7. 读取jar包内部配置文件信息的解析
  8. python 立方体切割块数_blender python通过三角函数调整立方体Location排成圆
  9. 持续集成之配置TeamCity
  10. iOS - CALayer 绘图层
  11. 一加闷声发大财 成为今年第一季度全球高端手机市场前四
  12. 面向对象---大纲笔记
  13. iOS 版本更新迭代
  14. ocx注册成功但是页面不显示
  15. oracle工程师 的职业,数据库工程师的职业规划
  16. CleanMyMac4.12最新版mac系统内存空间清理教程
  17. phpstorm官方下载地址
  18. java判断版本号大小,比较版本号大小
  19. 命令提示符(CMD)切换到指定目录的方法
  20. linux登陆操作mysql

热门文章

  1. Spring 事务原理和使用
  2. Spring Boot 单元测试详解+实战教程
  3. Scratc3.0作品转化成exe文件
  4. 使用ueditor实现多图片上传案例——Dao层(IBaseDaoUtil)
  5. 19年8月 字母哥 第二章 RESTFul接口实现与测试 看到这里了
  6. idea @Data 不起作用找不到 相关的注解
  7. compose应用_带有PostgreSQLDocker Compose for Spring Boot应用程序
  8. lombok_Lombok–您绝对应该尝试一下
  9. 设计模式示例_状态设计模式示例
  10. java编写应用程序_为您的Java应用程序编写数据驱动的测试