Кросс-платформенное построение кода, использующего sun.awt.windows.WComponentPeer [duplicate]

У меня были похожие проблемы с одним и тем же хостом, но в разных играх. Эта вещь, которую следует помнить, это факты, а не переменные, которые сохраняются в разных играх. Вот как я оборачиваю проблему.

#!/usr/local/bin/ansible-playbook --inventory=./inventories/ec2.py
---
- name: "TearDown Infrastructure !!!!!!!"
  hosts: localhost
  gather_facts: no
  vars:
    aws_state: absent
  vars_prompt:
    - name: "aws_region"
      prompt: "Enter AWS Region:"
      default: 'eu-west-2'
  tasks:
    - name: Make vars persistant
      set_fact:
        aws_region: "{{aws_region}}"
        aws_state: "{{aws_state}}"




- name: "TearDown Infrastructure hosts !!!!!!!"
  hosts: monitoring.ec2
  connection: local
  gather_facts: no
  tasks:
    - name: set the facts per host
      set_fact:
        aws_region: "{{hostvars['localhost']['aws_region']}}"
        aws_state: "{{hostvars['localhost']['aws_state']}}"


    - debug:
        msg="state {{aws_state}} region {{aws_region}} id {{ ec2_id }} "

- name: last few bits
  hosts: localhost
  gather_facts: no
  tasks:
    - debug:
        msg="state {{aws_state}} region {{aws_region}} "

приводит к

Enter AWS Region: [eu-west-2]:


PLAY [TearDown Infrastructure !!!!!!!] ***************************************************************************************************************************************************************************************************

TASK [Make vars persistant] **************************************************************************************************************************************************************************************************************
ok: [localhost]

PLAY [TearDown Infrastructure hosts !!!!!!!] *********************************************************************************************************************************************************************************************

TASK [set the facts per host] ************************************************************************************************************************************************************************************************************
ok: [XXXXXXXXXXXXXXXXX]

TASK [debug] *****************************************************************************************************************************************************************************************************************************
ok: [XXXXXXXXXXX] => {
    "changed": false,
    "msg": "state absent region eu-west-2 id i-0XXXXX1 "
}

PLAY [last few bits] *********************************************************************************************************************************************************************************************************************


TASK [debug] *****************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "state absent region eu-west-2 "
}

PLAY RECAP *******************************************************************************************************************************************************************************************************************************
XXXXXXXXXXXXX              : ok=2    changed=0    unreachable=0    failed=0
localhost                  : ok=2    changed=0    unreachable=0    failed=0
9
задан ZZ Coder 26 August 2009 в 01:32
поделиться

3 ответа

Соглашение «com.sun» является более предпочтительным форматом, поскольку оно следует за «соглашениями об именах», которые были установлены для именования пакетов Java.

http: //java.sun. com / docs / codeconv / html / CodeConventions.doc8.html

Вы должны использовать свою уникальную компанию или собственный URL веб-сайта в качестве первых нескольких слов в пакете, чтобы гарантировать уникальность в Пространство имен. Те, которые начинаются с «солнца», вероятно, не предназначены для воздействия на внешний мир.

7
ответ дан Andy White 17 August 2018 в 22:38
поделиться

Не ответ на вопрос, но имейте в виду, что вы не должны использовать пакеты «sun» или «com.sun» непосредственно в ваших программах.

См. Почему разработчики не должны писать Программы, которые называют «sun» Packages

Эти пакеты не являются частью общедоступного API стандартной библиотеки Java, и использование их может сделать вашу программу несовместимой с будущими версиями Java или реализациями Java кроме реализации Sun (и есть несколько реализаций других поставщиков, включая Apple, IBM и HP).

10
ответ дан Jesper 17 August 2018 в 22:38
поделиться
  • 1
    Я ничего не вижу о том, чтобы не использовать com.sun. * В том документе, к которому вы привязались; он говорит только, чтобы не использовать солнце. *. Обозначение упаковки com.sun. * Означает, что это часть их собственного общедоступного программного обеспечения, которое они предоставляют, как любая другая компания. – Tom 27 March 2013 в 23:14
  • 2
    @Jasper, вы уже разместили эту ссылку в другом обсуждении [ stackoverflow.com/questions/1906673/… , но связанный документ примерно соответствует "sun & quot; пакеты, а не "com.sun" из них. Можете ли вы обновить ссылку, если можете предоставить тот, который на самом деле говорит не использовать & quot; com.sun & quot; пакеты? – danidemi 11 February 2015 в 10:57

Если вы взглянете на документ совместимости для Java 5 , вы заметите, что есть и другие причины:

Apache - классы org.apache , которые никогда не поддерживались API J2SE, но используются пакетом javax.xml, переместились с 5.0 на ** com.sun. ** org.apache.package.internal, чтобы они не столкнулись с более поздними разработчиками - загруженные версии классов. Любые приложения, зависящие от классов org.apache, являющихся частью выпуска J2SE, должны выполнить одно из следующих действий для работы в 5.0: * Кодируйте приложение, чтобы оно использовало только поддерживаемые интерфейсы, входящие в состав JAXP. * Загрузите классы org.apache.xalan из Apache.

1
ответ дан Ryan Fernandes 17 August 2018 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: