使用Docker构建Oracle ADF应用程序
最近,我的一個好朋友在使用公共Oracle Maven存儲庫構(gòu)建ADF應(yīng)用程序v.12.2.1.2時經(jīng)常遇到問題。 他要求我檢查它是否對我有用。 好吧……沒有。 因此,存儲庫存在一些問題。 為了使實驗整潔并避免對我的工作環(huán)境造成任何影響,我決定在docker容器中運行測試。
而且即使我不能幫助我的朋友(拋出一些依賴異常也無法正常工作),作為此檢查的結(jié)果,我得到了一個可重用的docker映像,該映像用作ADF應(yīng)用程序的預(yù)配置構(gòu)建機器(適用于12.2版)。 1.3那時,Oracle Maven存儲庫運行良好。
這是我所做的:
1.拉并運行ubuntu Docker映像
$: docker run -it --name adfbuilder ubuntu2.在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-installer3.在adfbuilder容器中安裝Maven
只需下載Maven二進(jìn)制文件并將其解壓縮到某個文件夾中,然后復(fù)制到容器中即可:
docker cp ~/Downloads/apache-maven-3.5.2 adfbuilder:/opt/apache-maven-3.5.2更新容器中的PATH環(huán)境變量
export PATH=$PATH:/opt/apache-maven-3.5.2/bin完成后, mvn應(yīng)該可用。 在容器中運行它,它將在用戶家中創(chuàng)建一個隱藏的.m2文件夾。
4.在adfbuilder容器中配置Maven以與Oracle Maven存儲庫一起使用
只需放入隱藏的.m2文件夾
docker cp settings.xml adfbuilder:/root/.m2/settings.xml包含以下內(nèi)容的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應(yīng)用程序。 我們需要確保可以從容器訪問我們的應(yīng)用程序的源代碼。 可以通過將源文件夾映射為從容器可見或僅將其復(fù)制到容器中來完成。
docker cp / mywork / MySampleApp adfbuilder:/ opt / MySampleApp
完成此操作后,我們可以運行以下命令來編譯應(yīng)用程序:
docker exec adfbuilder mvn -f /opt/MySampleApp/pom.xml編譯
5.將JDeveloper二進(jìn)制文件復(fù)制到容器中
由于我們希望超越這一點,不僅能夠編譯,而且能夠生成可部署的工件(耳朵,罐子等),所以我們需要將JDeveloper二進(jìn)制文件放入容器中(基本上, maven需要ojdeploy)。 我剛剛將Mac_目錄中的Oracle_Home文件夾復(fù)制到了容器中:
docker cp /My_Oracle_Home adfbuilder:/opt/Oracle_Home所以,現(xiàn)在我能夠建立一個耳朵我的容器應(yīng)用程序:
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.提交對容器的更改
我們需要做的最后一件事是將更改提交到容器:
這將創(chuàng)建一個新的ubuntu映像,其中包含我們應(yīng)用的所有更改。 我們可以輕松地在基礎(chǔ)架構(gòu)中的任何位置運行該映像,并將其用作ADF應(yīng)用程序的構(gòu)建機器。 它的優(yōu)點在于我們可以在像Docker Cloud(由AWS,Microsoft Azure,Digital Ocean等支持)或Oracle容器云服務(wù)等云中運行它,也可以隨便使用它。 使用這種方法,云中的服務(wù)器可以為您構(gòu)建應(yīng)用程序,這通常是一項非常耗資源的工作。
就是這樣!
翻譯自: https://www.javacodegeeks.com/2018/01/building-oracle-adf-applications-docker.html
總結(jié)
以上是生活随笔為你收集整理的使用Docker构建Oracle ADF应用程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暴力摩托2008电脑版(暴力摩托2008
- 下一篇: 松下microp2卡传到电脑(micro