2010-08-18 2 views
5

Я разрабатываю приложение j2ee для Glassfish v3, которое будет удаленно вызывать EJB, размещенную на сервере приложений jboss 5. Чтобы это сработало, мое приложение должно иметь jboss client jars в пути к классу. Мне удалось сделать это путем упаковки файлов jar клиента с моим приложением, но это увеличивает размер на aprox 10mb, поэтому загрузка приложения становится проблемой.glassfish v3 classpath settings

Как я могу поместить эти банки в другое место, чтобы gf собирал их, поэтому мне не нужно держать их в своем приложении?

ответ

1

Вы можете поместить их в путь к классу сервера, если это необходимо. Перейдите в каталог lib домена.

+0

Могу ли я поместить их в какой-нибудь другой каталог, а затем сказать gf, чтобы посмотреть там? – Marko

1

В доменной зоне domain.xml домена Glassfish вы можете использовать атрибут classpath-suffix тега java-config, чтобы указать на местоположения, которые должны быть частью пути к классам Glassfish для данного домена.

0

Вариант 1: Вы можете позаботиться об этом во время развертывания GF3, используя опцию библиотек. Об этом говорит экран развертывания GF3.

Список файлов JAR, разделенных запятыми. Укажите библиотеки JAR по их относительным или абсолютным путям. Укажите относительные пути относительно экземпляра root/lib/applibs. Библиотеки сделаны доступными для приложения в указанном порядке.

Если вы используете командную строку для развертывания, используйте опцию --libraries с помощью команды asadmin.

Это может быть не лучший вариант, так как вам нужно заботиться об этом каждый раз, когда выполняется развёртывание. Однако в случае перераспределения этот параметр следует сохранить.

Вариант 2: Поместите их в каталог Domainname/lib в Glassfish. Он будет автоматически загружен и доступен для всех ваших приложений в том же домене после перезагрузки.

+0

Может ли кто-нибудь предоставить ссылку на эту информацию? Я бы хотел больше узнать. Например, можно ли использовать -libraries для указания на каталог вместо jar? –

1

Для jar's это нормально, но для файлов свойств это что-то еще. Это, как правило, сложнее, если вы не помещаете их в WAR (это означает, что вы не можете обновлять их без полного повторного развертывания).

Я пытался поставить xxx.properties в папку конфигурации & адаптации следующей domain.xml линии

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="${com.sun.aas.instanceRoot}/MY_VALUE" classpath-suffix=""> 
     ... 
</java-config> 

с MY_VALUE принимать следующие значения:

  1. конфигурации
  2. конфигурации/
  3. config/xxx.properties

Пробовать то же самое с суффиксом classpath тоже не помогло.

Запрос веб-приложение для отображения с классов следующей строкой:

String path = System.getProperty("java.class.path"); 
LOG.info("Classpath is : '" + path + "'."); 

сделал показывает, что значения были подхвачены ... но свойство-файл никогда не был доступен из ClassLoader.getResourceAsInputStream()

Смежные вопросы