Настройка IntelliJ и GlassFish на Mac - PullRequest
2 голосов
/ 29 ноября 2010

Мне нужна помощь в разработке шагов, необходимых для настройки и запуска базового веб-приложения "Привет, мир" на Mac с использованием IntelliJ и GlassFish.До сих пор я нашел это руководство , которое полезно, но устарело (некоторые диалоги / шаги изменились с момента его написания).

Может ли кто-нибудь, хорошо разбирающийся в этих инструментах, помочь мне разобратьсяшаги, необходимые для развертывания базового веб-приложения на GlassFish 3.0.1 с использованием IntelliJ 9.0.4?

Ответы [ 4 ]

2 голосов
/ 29 ноября 2010

Во-первых, запустите Glassfish самостоятельно.Этот опыт будет вам полезен, поскольку процесс практически одинаков во всех системах Unix.Если вы научитесь взаимодействовать со Glassfish только через вашу IDE, то без IDE вы полностью потеряетесь.

Существует два способа развертывания приложения: через веб-интерфейс администратора (удобный, но болезненный)медленно) или через командную строку.Вот как вы делаете последнее: сначала убедитесь, что утилита asadmin, поставляемая с Glassfish, находится на вашем пути, затем выполните что-то вроде этого:

asadmin --user admin deploy --name hello ~/projects/hello/build/hello.ear

По умолчанию пользователь с правами администратора имеет пустуюпароль;если этого не произойдет, вас попросят об этом.

0 голосов
/ 22 марта 2012

У меня был успех с этим учебником: Разработка приложений для сервера GlassFish на IntelliJ IDEA 10 . Я использую IDEA 11 и GlassFish 3.1.2

0 голосов
/ 29 ноября 2010

IMO лучший способ развернуть EAR / WAR на любом сервере приложений - это использовать Maven для создания плагина EAR и Cargo Maven для повторного развертывания. Причина, по которой я бы использовал его, заключается в том, что он полностью независим от IDE и может использовать его как в процессе разработки, так и на моем сервере непрерывной интеграции.

pom.xml фрагмент модуля EAR / WAR для Glassfish:

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.0.2</version>
    <configuration>
        <container>
            <containerId>glassfish2x</containerId> <!-- or glassfish3x -->
            <type>installed</type>
            <home>${glassfish.home}</home>
        </container>
        <configuration>
            <properties>
                <cargo.remote.password>${glassfish.password}</cargo.remote.password>
            </properties>
        </configuration>
        <deployer>
            <type>installed</type>
            <deployables>
                <deployable>
                    <location>${project.build.directory}/${project.build.finalName}.${project.packaging}</location>
                </deployable>
            </deployables>
        </deployer>
    </configuration>
</plugin>

Команда повторного развертывания:

mvn cargo:redeploy -Dglassfish.home=/path/to/glassfish/-Dglassfish.password=adminadmin -DskipTests=true -o

Вам следует узнать о Maven 2, если вы не знаете, что это такое.

0 голосов
/ 29 ноября 2010

Я не знаю насчет Glassfish, но могу рассказать, как это сделать с Tomcat.Единственная разница должна заключаться в том, что сервер приложений, который вы запускаете внутри IntelliJ:

  1. В настройках проекта создайте веб-модуль, который даст вам / WEB-INF и web.xml
  2. В настройках проекта создайте артефакт, который сопоставляется с вашим разобранным файлом WAR.Убедитесь, что необходимые файлы JAR добавлены в WEB-INF / lib;Ваши файлы .class копируются в WEB-INF / classes;все необходимые ресурсы находятся там, где вы хотите.
  3. Настройте Glassfish и скажите, чтобы он развернул ваш взорванный артефакт WAR.Дайте ему имя вашего веб-приложения в качестве корневого контекста (например, "/foo").
  4. Запустите веб-приложение.IntelliJ скомпилирует ваш код, создаст разорванный артефакт WAR в каталоге / out и развернет его на сервере приложений.
  5. Вы должны увидеть запуск приложения под URL http://localhost:4848/foo/index.html, при условии, что у вас есть индексФайл приветствия .html в вашем файле web.xml

Настройка JNDI - другое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...