Maven-Glassfish-плагин пытается начать домен, когда он уже запущен

StackOverflow https://stackoverflow.com/questions/4140976

Вопрос

Я только что начал использовать плагин Maven-Glassfish. Я получил цель начальной домена. Однако, когда я пытаюсь выполнить развертывание цели, плагин считает, что домен не запущен и пытается перезапустить его - это, очевидно, не удается. См. Журнал ниже:

> mvn glassfish:start-domain
[INFO] --- maven-glassfish-plugin:2.1:start-domain (default-cli) @ arquillian-sample ---
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --user admin --echo --terse=false start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --echo=true --terse=false start-domain --debug=true --domaindir C:\apps\glassfish-3.0.1\glassfish\domains --help=false --upgrade=false --verbose=false domain1
[INFO] Waiting for DAS to start ...
[INFO] Started domain: domain1
[INFO] Domain location: C:\apps\glassfish-3.0.1\glassfish\domains\domain1
[INFO] Log file: C:\apps\glassfish-3.0.1\glassfish\domains\domain1\logs\server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] Command start-domain executed successfully.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

> mvn glassfish:deploy
[INFO] --- maven-glassfish-plugin:2.1:deploy (default-cli) @ arquillian-sample ---
[INFO] Domain domain1 isn't started. Starting it for you.
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --user admin --echo --terse=false start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --echo=true --terse=false start-domain --debug=true --domaindir C:\apps\glassfish-3.0.1\glassfish\domains --help=false --upgrade=false --verbose=false domain1
[INFO] There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server.
[INFO] Command start-domain failed.
[ERROR] Unable to start domain "domain1".
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
  1. Почему плагин не может обнаружить, что домен уже запущен?
  2. Почему я получаю все «устаревшие синтаксис» предупреждения?

Для обходной части проблемы № 1 я просто пытался выдать цель развертывания, когда сервер не работает. На этот раз цель развертывания успешно запустила сервер, но развертывание не удалось с сообщением «CLI136 Port 0, должно быть числовым значением». Смотри ниже:

> mvn glassfish:deploy
[INFO] --- maven-glassfish-plugin:2.1:deploy (default-cli) @ arquillian-sample ---
[INFO] Domain domain1 isn't started. Starting it for you.
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --user admin --echo --terse=false start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --echo=true --terse=false start-domain --debug=true --domaindir C:\apps\glassfish-3.0.1\glassfish\domains --help=false --upgrade=false --verbose=false domain1
[INFO] Waiting for DAS to start ...
[INFO] Started domain: domain1
[INFO] Domain location: C:\apps\glassfish-3.0.1\glassfish\domains\domain1
[INFO] Log file: C:\apps\glassfish-3.0.1\glassfish\domains\domain1\logs\server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] Command start-domain executed successfully.
[INFO] Command deploy failed.
[ERROR] CLI136 Port 0 should be a numeric value.
[ERROR] Deployment of S:\Projects\archfirstunf\java\trunk\examples\arquillian-sample\target\arquillian-sample.war failed.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

Что я делаю неправильно?

Вот мой конфигурация плагина:

<plugin>
    <groupId>org.glassfish.maven.plugin</groupId>
    <artifactId>maven-glassfish-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <glassfishDirectory>${glassfish.directory}</glassfishDirectory>
        <user>admin</user>
        <passwordFile>${glassfish.directory}/domains/domain1/config/domain-passwords</passwordFile>
        <domain>
            <name>domain1</name>
        </domain>
        <components>
            <component>
                <name>${project.artifactId}</name>
                <artifact>target/${project.build.finalName}.war</artifact>
            </component>
        </components>
        <debug>true</debug>
        <terse>false</terse>
        <echo>true</echo>
    </configuration>
</plugin>
Это было полезно?

Решение

Я использую следующую конфигурацию (обратите внимание на httpPort а также adminPort в domain элемент):

<plugin>
    <groupId>org.glassfish.maven.plugin</groupId>
    <artifactId>maven-glassfish-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <glassfishDirectory>${glassfish.directory}</glassfishDirectory>
        <user>admin</user>
        <passwordFile>${glassfish.directory}/domains/domain1/config/domain-passwords</passwordFile>
        <domain>
            <name>domain1</name>
            <httpPort>8080</httpPort>
            <adminPort>4848</adminPort>
        </domain>
        <components>
            <component>
                <name>${project.artifactId}</name>
                <artifact>target/${project.build.finalName}.war</artifact>
            </component>
        </components>
        <debug>true</debug>
        <terse>false</terse>
        <echo>true</echo>
    </configuration>
</plugin>

Без них все не работали, как ожидалось (хотя они должны быть необязательными). Но запуск, развертывание (с сервером или без сервера), и т. Д. Просто работает нормально для меня.

PS: Я не помню, важно, но я использую версию 2.2 - снимок плагина.


Обновлять: Вот точная настройка, которую я использую:

  <plugin>
    <groupId>org.glassfish.maven.plugin</groupId>
    <artifactId>maven-glassfish-plugin</artifactId>
    <version>2.2-SNAPSHOT</version>
    <configuration>
      <glassfishDirectory>${glassfish.home}</glassfishDirectory>
      <user>${domain.username}</user>
      <passwordFile>${glassfish.home}/domains/${project.artifactId}/master-password</passwordFile>
      <autoCreate>true</autoCreate>
      <debug>true</debug>
      <echo>true</echo>
      <skip>${test.int.skip}</skip>
      <domain>
        <name>${project.artifactId}</name>
        <httpPort>8080</httpPort>
        <adminPort>4848</adminPort> <!-- [ERROR] CLI136 Port 0 should be a numeric value. -->
      </domain>
      <components>
        <component>
          <name>${project.artifactId}</name>
          <!--artifact>${project.build.directory}/${project.build.finalName}.war</artifact-->
          <artifact>${project.build.directory}/${project.build.finalName}</artifact>
        </component>
      </components>
    </configuration>
  </plugin>

И вот вывод я получаю:

$ MVN Glassfish: Развернуть [INFO] Сканирование для проектов ... ... [Информация] [Информация] ------------------------------ -------------------------------------------------- [info] здание Maven -ОЛМСМ-TESTCASE MAVEN WebApp 1.0-Snapshot [INFO] ------------------------------------------- -------------------------------------- [Информация] [Информация] --- Maven-Glassfish-Plugin: 2.2 -Snapshot: развертывание (по умолчанию-CLI) @ maven-glassfish-testcase --- ... [info] asadmin --host localhost --port 4848 - прозерол admin - passwordfile / home / Pascal / Opt / GlassfishV3 / Glassfish . false nabled = true --generatermistubs = falseavailabistubs = false --keepreposdir = false --keepreposdir = false -keepfailedstubs = false --logreportedErrors = true --upload = false --help = false / home / pascal / projects / Stackoverflow / Maven-Glassfish-testcase / target / maven-glassfish-testcase [info] Приложение успешно развернуто Wi Имя Maven-Glassfish-Testcase. [Информация] [информация] [информация] ----------------------------------------------- ------------------------------------ [info] Создание успеха [info] -------------- ------------------------------------------------------- ------------ ...

Обратите внимание, что я не получаю странное «устаревшее» сообщение. И все просто работает нормально.

Добавление httpport и adminport добавляет новое осложнение - теперь аутентификация не удается, когда я делаю развертывание (даже если одинаковая аутентификация проходит для цели начальной домена).

> mvn glassfish:start-domain
[INFO] --- maven-glassfish-plugin:2.2-SNAPSHOT:start-domain (default-cli) @ arquillian-sample ---
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --user admin --echo --terse=false start-domain [options] ...
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --echo=true --terse=false start-domain --debug=true --domaindir C:\apps\glassfish-3.0.1\glassfish\domains --help=false --upgrade=false --verbose=false domain1
[INFO] Waiting for DAS to start ...........
[INFO] Started domain: domain1
[INFO] Domain location: C:\apps\glassfish-3.0.1\glassfish\domains\domain1
[INFO] Log file: C:\apps\glassfish-3.0.1\glassfish\domains\domain1\logs\server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] Command start-domain executed successfully.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

> mvn glassfish:deploy
[INFO] --- maven-glassfish-plugin:2.2-SNAPSHOT:deploy (default-cli) @ arquillian-sample ---
[INFO] Deprecated syntax, instead use:
[INFO] asadmin --port 4848 --host localhost --passwordfile C:\apps\glassfish-3.0.1\glassfish/domains/domain1/config/domain-passwords --interactive=false --user admin --echo --terse=false deploy [options] ...
[INFO] Command deploy failed.
[ERROR] Authentication failed for user: admin
[ERROR] (Usually, this means invalid user name and/or password)
[ERROR] Deployment of S:\Projects\archfirstunf\java\trunk\examples\arquillian-sample\target\arquillian-sample.war failed.
[ERROR] For more detail on what might be causing the problem try running maven with the --debug option
[ERROR] or setting the maven-glassfish-plugin "echo" property to "true".
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.973s
[INFO] Finished at: Wed Nov 10 01:51:04 EST 2010
[INFO] Final Memory: 10M/183M
[INFO] ------------------------------------------------------------------------

Изменение версии до 2,2-моментального снижения не имеет значения. BTW Снимок не доступен в репозитории Java.net - мне пришлось пойти сюда, чтобы получить его:

    <pluginRepository>
        <id>ocean</id>
        <url>http://maven.ocean.net.au/snapshot</url>
        <releases>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
        </releases>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </pluginRepository>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top