Знаток Встроенный плагин Glassfish

Я, может казаться, не получаю плагин Знатока Glassfish, работающий ни за что в жизни:

<project>
  ...
  <pluginRepositories>
    <pluginRepository>
      <id>glassfish-repository</id>
      <name>Java.net Repository for Glassfish</name>
      <url>http://download.java.net/maven/glassfish</url>
      <layout>default</layout>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.glassfish</groupId>
        <artifactId>maven-embedded-glassfish-plugin</artifactId>
        <version>3.0</version>

        <configuration>
          <goalPrefix>glassfish</goalPrefix>
          <app>${artifactId}.war</app>
          <contextRoot>${context.root}</contextRoot>
          <port>${http.port}</port>
        </configuration>
      </plugin>
      ...
    </plugins>
  </build>  
</project>

Когда я работаю mvn glassfish:run, это ищет другой плагин и не может найти его:

[INFO] The plugin 'org.apache.maven.plugins:maven-glassfish-plugin' does not exist or no valid version could be found

Какие-либо идеи?

9
задан Pascal Thivent 23 July 2010 в 20:06
поделиться

3 ответа

Вы вызываете не тот плагин. Должно быть:

mvn embedded-glassfish:run

На самом деле, я использую его следующим образом: (с тем же репозиторием плагинов, который вы объявили):

<plugins>
  <plugin>
    <groupId>org.glassfish</groupId>
    <artifactId>maven-embedded-glassfish-plugin</artifactId>
    <version>3.0</version>
    <configuration>
      <goalPrefix>glassfish</goalPrefix>
      <app>target/test.war</app>
      <port>8080</port>
      <contextRoot>test</contextRoot>
    </configuration>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
         <goal>run</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>

Update: На всякий случай, полное имя этого плагина должно быть:

mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run

Но мне подходит короткое имя.

14
ответ дан 4 December 2019 в 12:18
поделиться

Эта проблема возникает из-за того, что Существует 2 разных плагина maven-glassfish с одинаковым именем. Попробуйте использовать

mvn org.glassfish:maven-glassfish-plugin:run

Подробное объяснение этой проблемы вы можете найти здесь .

0
ответ дан 4 December 2019 в 12:18
поделиться

@Walter White (не могу / не знаю, как ответить на ваш комментарий, поэтому отвечаю вместо этого): Я Я читал, что разрозненные WAR не полностью поддерживаются встроенным GlassFish v3 .

Лично я с нетерпением жду v3.1 с поддержкой Timer и MessageDriven. Надеюсь, также будет включена поддержка веб-сервисов. У кого-нибудь есть информация о ETA для версии 3.1?

PS: mvn org.glassfish: maven-embedded-glassfish-plugin: 3.0: run у меня работает . Теперь подключим его к правильному жизненному циклу интеграции-тестирования maven.

3
ответ дан 4 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

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