GlassFish v3 и glassfish-maven-plugin (Mac)

Я пытаюсь использовать glassfish-maven-plugin (https://maven-glassfish-plugin.dev.java.net/) с GlassFish v3 (я нахожусь на Mac и использовании Eclipse), и я, может казаться, не заставляю свое веб-приложение развертываться. Я продолжаю сталкиваться с:

Основной пароль требуется, чтобы запускать домен. Никакая консоль, никакой возможный запрос. Необходимо или создать домен с - savemasterpassword=true или предоставить файлу паролей - passwordfile опция.

Вот соответствующая часть моего файла АНГЛИЧАНИНА.


    
        development
        
            
                phase
                development
            
        
        
            
                
                    org.glassfish.maven.plugin
                    maven-glassfish-plugin
                    2.2-SNAPSHOT
                    
                        ${glassfish.directory}
                        ${glassfish.user}
                        ${glassfish.directory}/domains/${project.artifactId}/config/domain-passwords
                        
                            ${project.artifactId}
                        
                        
                            
                                ${project.artifactId}
                                ${project.build.directory}/artifacts/${project.artifactId}.war
                            
                        
                    
                
            
        
        
            
                ocean
                http://maven.ocean.net.au/snapshot
                
                    false
                    never
                
                
                    true
                    always
                
            
        
    

Вот команда Maven начинать-домена, выполняется.

asadmin - размещают localhost - порт 4848 - пользовательского администратора - passwordfile/var/folders/sk/skcc8ravgsynobbaowwn3u +++ TI/-Tmp-/mgfp5377058868244877698.tmp - interactive=false - echo=true - terse=true начинать-домен - debug=false - domaindir/Applications/GlassFish/v3/glassfish/domains - help=false - upgrade=false - verbose=false mvnrepo

- passwordfile использует временный файл, таким образом, я предполагаю, что это - проблема. По некоторым причинам passFile параметр не работает.

Какие-либо идеи? Я I неправильно с моим предположением?

7
задан Bozho 20 December 2009 в 09:09
поделиться

2 ответа

В Fairly Complete Configuration Example действительно есть ссылка на элемент , но документация различных целей не упоминает этот элемент и вместо этого ссылается на (см., например, glassfish: start-domain или glassfish: deploy ). Итак, попробуйте соответствующим образом обновить конфигурацию вашего плагина в вашем профиле:

<plugin>
  <groupId>org.glassfish.maven.plugin</groupId>
  <artifactId>maven-glassfish-plugin</artifactId>
  <version>2.2-SNAPSHOT</version>
  <configuration>
    <glassfishDirectory>${glassfish.directory}</glassfishDirectory>
    <user>${glassfish.user}</user>
    <passwordFile>${glassfish.directory}/domains/${project.artifactId}/config/domain-passwords</passwordFile>
    <domain>
      <name>${project.artifactId}</name>
    </domain>
    <components>
      <component>
        <name>${project.artifactId}</name>
        <artifact>${project.build.directory}/artifacts/${project.artifactId}.war</artifact>
      </component>
    </components>
  </configuration>
</plugin>

В качестве примечания я рекомендую maven-embedded-glassfish-plugin , который позволяет запускать Glassfish в одной JVM, используя его встроенный API. Очень хорошо. См. Использование плагина maven для v3 embedded glassfish для получения дополнительной информации.

ОБНОВЛЕНИЕ: Я провел дополнительное тестирование и не смог ' На самом деле воспроизвести вашу проблему на моей машине (вздох).

Сначала я создал новый домен, выполнив следующую команду (из / bin ):

$ ./asadmin create-domain  --savemasterpassword=true maven-glassfish-testcase

Затем я создал новое веб-приложение, используя архетип веб-приложения maven:

$ mvn archetype:create -DgroupId=com.mycompany.app \
      -DartifactId=maven-glassfish-testcase \
      -DarchetypeArtifactId=maven-archetype-webapp

И обновил pom.xml только что созданного веб-приложения, как показано ниже:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>maven-glassfish-testcase</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-glassfish-testcase Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <glassfish.home>/home/pascal/opt/glassfishv3/glassfish</glassfish.home>
    <domain.username>admin</domain.username>
  </properties>
  <pluginRepositories>
    <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>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>maven-glassfish-testcase</finalName>
    <plugins>
      <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>
          <debug>true</debug>
          <echo>true</echo>
          <domain>
            <name>${project.artifactId}</name>
            <adminPort>4848</adminPort> <!-- mandatory for mvn glassfish:deploy -->
          </domain>
          <components>
            <component>
              <name>${project.artifactId}</name>
              <artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
            </component>
          </components>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

При этой настройке запуск mvn glassfish: start-domain дает следующий результат:

$ mvn glassfish:start-domain
[INFO] Scanning for projects...
[INFO] snapshot org.glassfish.maven.plugin:maven-glassfish-plugin:2.2-SNAPSHOT: checking for updates from ocean
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-glassfish-testcase Maven Webapp
[INFO]    task-segment: [glassfish:start-domain]
[INFO] ------------------------------------------------------------------------
[INFO] [glassfish:start-domain {execution: default-cli}]
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/master-password --interactive=false --echo=true --terse=true start-domain --debug=true --domaindir /home/pascal/opt/glassfishv3/glassfish/domains --help=false --upgrade=false --verbose=false maven-glassfish-testcase
[INFO] Started domain: maven-glassfish-testcase
[INFO] Domain location: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase
[INFO] Log file: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/logs/server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27 seconds
[INFO] Finished at: Mon Dec 21 20:16:17 CET 2009
[INFO] Final Memory: 4M/53M
[INFO] ------------------------------------------------------------------------

Как вы можете видеть , параметр - файл пароля передается правильно с использованием файла, указанного в POM. Другими словами, все работает, как ожидалось. Может быть, попробуйте с жестко заданным путем к файлу паролей отладить этот параметр, он должен работать!

Я создал новое веб-приложение, используя архетип maven webapp:

$ mvn archetype:create -DgroupId=com.mycompany.app \
      -DartifactId=maven-glassfish-testcase \
      -DarchetypeArtifactId=maven-archetype-webapp

И обновил pom.xml только что созданного веб-приложения, как показано ниже:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>maven-glassfish-testcase</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-glassfish-testcase Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <glassfish.home>/home/pascal/opt/glassfishv3/glassfish</glassfish.home>
    <domain.username>admin</domain.username>
  </properties>
  <pluginRepositories>
    <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>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>maven-glassfish-testcase</finalName>
    <plugins>
      <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>
          <debug>true</debug>
          <echo>true</echo>
          <domain>
            <name>${project.artifactId}</name>
            <adminPort>4848</adminPort> <!-- mandatory for mvn glassfish:deploy -->
          </domain>
          <components>
            <component>
              <name>${project.artifactId}</name>
              <artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
            </component>
          </components>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

С этой настройкой запустил mvn glassfish: start-domain дает следующий результат:

$ mvn glassfish:start-domain
[INFO] Scanning for projects...
[INFO] snapshot org.glassfish.maven.plugin:maven-glassfish-plugin:2.2-SNAPSHOT: checking for updates from ocean
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-glassfish-testcase Maven Webapp
[INFO]    task-segment: [glassfish:start-domain]
[INFO] ------------------------------------------------------------------------
[INFO] [glassfish:start-domain {execution: default-cli}]
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/master-password --interactive=false --echo=true --terse=true start-domain --debug=true --domaindir /home/pascal/opt/glassfishv3/glassfish/domains --help=false --upgrade=false --verbose=false maven-glassfish-testcase
[INFO] Started domain: maven-glassfish-testcase
[INFO] Domain location: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase
[INFO] Log file: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/logs/server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27 seconds
[INFO] Finished at: Mon Dec 21 20:16:17 CET 2009
[INFO] Final Memory: 4M/53M
[INFO] ------------------------------------------------------------------------

Как видите, параметр - passwordfile передается правильно с использованием файла, указанного в POM. Другими словами, все работает, как ожидалось. Может быть, попробуйте с жестко заданным путем к файлу паролей отладить этот параметр, он должен работать!

Я создал новое веб-приложение, используя архетип maven webapp:

$ mvn archetype:create -DgroupId=com.mycompany.app \
      -DartifactId=maven-glassfish-testcase \
      -DarchetypeArtifactId=maven-archetype-webapp

И обновил pom.xml только что созданного веб-приложения, как показано ниже:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>maven-glassfish-testcase</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>maven-glassfish-testcase Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
    <glassfish.home>/home/pascal/opt/glassfishv3/glassfish</glassfish.home>
    <domain.username>admin</domain.username>
  </properties>
  <pluginRepositories>
    <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>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>maven-glassfish-testcase</finalName>
    <plugins>
      <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>
          <debug>true</debug>
          <echo>true</echo>
          <domain>
            <name>${project.artifactId}</name>
            <adminPort>4848</adminPort> <!-- mandatory for mvn glassfish:deploy -->
          </domain>
          <components>
            <component>
              <name>${project.artifactId}</name>
              <artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
            </component>
          </components>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

С этой настройкой запустил mvn glassfish: start-domain дает следующий результат:

$ mvn glassfish:start-domain
[INFO] Scanning for projects...
[INFO] snapshot org.glassfish.maven.plugin:maven-glassfish-plugin:2.2-SNAPSHOT: checking for updates from ocean
[INFO] ------------------------------------------------------------------------
[INFO] Building maven-glassfish-testcase Maven Webapp
[INFO]    task-segment: [glassfish:start-domain]
[INFO] ------------------------------------------------------------------------
[INFO] [glassfish:start-domain {execution: default-cli}]
[INFO] asadmin --host localhost --port 4848 --user admin --passwordfile /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/master-password --interactive=false --echo=true --terse=true start-domain --debug=true --domaindir /home/pascal/opt/glassfishv3/glassfish/domains --help=false --upgrade=false --verbose=false maven-glassfish-testcase
[INFO] Started domain: maven-glassfish-testcase
[INFO] Domain location: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase
[INFO] Log file: /home/pascal/opt/glassfishv3/glassfish/domains/maven-glassfish-testcase/logs/server.log
[INFO] Admin port for the domain: 4848
[INFO] Debug port for the domain: 9009
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27 seconds
[INFO] Finished at: Mon Dec 21 20:16:17 CET 2009
[INFO] Final Memory: 4M/53M
[INFO] ------------------------------------------------------------------------

Как видите, параметр - passwordfile передается правильно с использованием файла, указанного в POM. Другими словами, все работает, как ожидалось. Может быть, попробуйте с жестко заданным путем к файлу паролей отладить этот параметр, он должен работать!

параметр - файл пароля передается правильно с использованием файла, указанного в POM. Другими словами, все работает, как ожидалось. Может быть, попробуйте с жестко заданным путем к файлу паролей отладить этот параметр, он должен работать!

параметр - файл пароля передается правильно с использованием файла, указанного в POM. Другими словами, все работает, как ожидалось. Может быть, попробуйте с жестко заданным путем к файлу паролей отладить этот параметр, он должен работать!

11
ответ дан 6 December 2019 в 21:14
поделиться

Мне потребовалось некоторое время, чтобы понять, что я случайно оставил свойство «adminPassword» в конфигурации Maven-Glassfish-Plugin (так что у меня были заданы и adminPassword, и passwordFile). Плагин по-прежнему использовал временный файл паролей вместо моего, что привело к указанной выше ошибке.

На случай, если кто-то еще такой тупой, как я;)

1
ответ дан 6 December 2019 в 21:14
поделиться
Другие вопросы по тегам:

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