2010-02-10 5 views
8

я не могу показаться, чтобы получить плагин Maven Glassfish работает для жизни меня:Maven Embedded 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 

Любые идеи?

ответ

13

Вы не используете правильный плагин. Оно должно быть:

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 

Но используя короткое имя работает на меня.

+0

Паскаль, спасибо за ваш ответ, но когда я попытаюсь выполнить эту команду выше, я до сих пор не могу получить плагин: [INFO] Плагин 'org.apache.maven.plugins: maven-embedded-glassfish-plugin 'не существует или не может быть найдена допустимая версия – 2010-02-10 19:40:59

+0

@Walter Пожалуйста, разместите весь ваш pom, потому что это работает для меня. –

+1

Паскаль - извините за поздний ответ, но я, наконец, перешел на Glassfish, так как он является одним из немногих совместимых с Java EE 6 контейнеров. Эта конфигурация работает хорошо. Я должен был вручную установить артефакты, чтобы заставить их работать, но теперь он работает. – 2010-04-25 01:55:06

0

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

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

Подробное explanatation этой проблемы вы можете найти here.

+1

Я думаю, что этот блог устарел, встроенный плагин Maven встраиваемого-GlassFish-плагин, не maven- GlassFish-плагин. См. Http://blogs.sun.com/sirajg/entry/using_maven_plugin_for_v3 –

+0

@Pascal Да, вы правы. Эта версия, кажется, сломана. – cetnar

3

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

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

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

0

видеть на GitHub рабочего примера

МВНА пакет встраиваемого GlassFish: запустить

<dependencies> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>7.0</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 

     <plugin> 
      <groupId>org.glassfish.embedded</groupId> 
      <artifactId>maven-embedded-glassfish-plugin</artifactId> 
      <version>3.1.2.2</version> 
      <configuration> 
       <app>target/${project.artifactId}-${project.version}</app> 
       <port>8080</port> 
       <contextRoot>${project.artifactId}</contextRoot> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.glassfish.main</groupId> 
        <artifactId>simple-glassfish-api</artifactId> 
        <version>4.0-b79</version> 
       </dependency> 
       <dependency> 
        <groupId>org.glassfish.main.extras</groupId> 
        <artifactId>glassfish-embedded-all</artifactId> 
        <version>4.0-b83</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
     <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 

</build> 
<pluginRepositories> 
    <pluginRepository> 
     <id>maven.java.net</id> 
     <name>Java.net Repository for Maven</name> 
     <url>https://maven.java.net/content/groups/promoted/</url> 
    </pluginRepository> 
    <pluginRepository> 
     <id>maven2-repository.dev.java.net</id> 
     <name>Java.net Repository for Maven</name> 
     <url>http://download.java.net/maven/glassfish/</url> 
    </pluginRepository> 
</pluginRepositories> 
Смежные вопросы