Я, может казаться, не получаю плагин Знатока 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
Какие-либо идеи?
Вы вызываете не тот плагин. Должно быть:
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
Но мне подходит короткое имя.
Эта проблема возникает из-за того, что Существует 2 разных плагина maven-glassfish с одинаковым именем. Попробуйте использовать
mvn org.glassfish:maven-glassfish-plugin:run
Подробное объяснение этой проблемы вы можете найти здесь .
@Walter White (не могу / не знаю, как ответить на ваш комментарий, поэтому отвечаю вместо этого): Я Я читал, что разрозненные WAR не полностью поддерживаются встроенным GlassFish v3 .
Лично я с нетерпением жду v3.1 с поддержкой Timer и MessageDriven. Надеюсь, также будет включена поддержка веб-сервисов. У кого-нибудь есть информация о ETA для версии 3.1?
PS: mvn org.glassfish: maven-embedded-glassfish-plugin: 3.0: run
у меня работает . Теперь подключим его к правильному жизненному циклу интеграции-тестирования maven.