Предположите, что я создаю очарование, которое имеет класс Java в нем, говорят Helloworld.java. Теперь я хочу скомпилировать и выполнить этот класс при помощи jdk6 от другого очарования.
Может кто-то объяснять меня, что все изменения я должен сделать. В основном я борюсь в создании отношений, следовательно хотят объяснить его.
В моей исходной реализации у меня есть deb пакет в моем очаровании, для этого deb пакета нужен jdk6, и hadoop предварительно установил (сценарий установки проверяет наличие, проверяющее JAVA_HOME и HADOOP_HOME в ПУТИ).
Я полностью застреваю при добавлении отношений (в metadata.yaml и - отношение). Я не ясен во всем этом, как я могу использовать Java и hadoop от различного очарования.
Если Вы захотите использовать jdk, установленный через другое очарование, то необходимо будет создать зависимое очарование ( https://jujucharms.com/docs/2.0/authors-subordinate-services). Зависимое очарование работает в том же экземпляре (контейнер) как очарование, для которого он зависим.
metadata.yaml несколько походил бы на это:
name:
summary:
maintainer:
description:
tags: [misc]
subordinate: true
requires:
interface-name:
interface: interface-name
series: ['trusty']
следующие интерфейсы могут использоваться для Java JDK и Hadoop:
Небольшой пример: Принятие Вас хочет jdk от другого очарования, я буду использовать kafka очарование в качестве примера и использовать jdk, который это устанавливает.
Сборка metadata.yaml
name: layer-jdk-example
summary: <Fill in summary here>
maintainer: maintainer
description: |
<Multi-line description here>
tags:
- misc
subordinate: true
requires:
kafka:
interface: kafka
scope: container
series: ['trusty']
layer.yaml
includes: ['layer:basic', 'interface:kafka']
reactive/layer-jdk-example.py
import os
from charms.reactive import when, when_not, set_state
@when_not('layer-jdk-example.installed')
def install_layer_jdk_example():
os.getenv("JAVA_HOME")
# locate / download java file and compile
# do stuff ...
set_state('layer-jdk-example.installed')
, разверните и добавьте отношение к kafka. Надежда это помогает.