2010-02-10 31 views
8

tôi dường như không thể có được các plugin Maven Glassfish làm việc cho cuộc sống của tôi:Maven Embedded Glassfish Plugin

<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> 

Khi tôi chạy mvn glassfish:run, nó đang tìm kiếm một plugin khác nhau và không thể tìm thấy nó:

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

Bất kỳ ý tưởng nào?

Trả lời

13

Bạn không gọi đúng plugin. Nó nên là:

mvn embedded-glassfish:run 

Thực ra, tôi đang sử dụng nó như thế này: (với kho plugin tương tự như bạn tuyên bố):

<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> 

Cập nhật: Chỉ trong trường hợp, tên đầy đủ của plugin này sẽ là:

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

Nhưng bằng cách sử dụng tên viết tắt làm việc cho tôi.

+0

Pascal, cảm ơn câu trả lời của bạn, nhưng khi tôi cố thực hiện lệnh trên, tôi vẫn không tìm thấy plugin: [INFO] Plugin 'org.apache.maven.plugins: maven-embedded-glassfish-plugin 'không tồn tại hoặc không có phiên bản hợp lệ có thể được tìm thấy –

+0

@Walter Xin vui lòng gửi toàn bộ pom của bạn bởi vì điều này làm việc cho tôi. –

+1

Pascal - xin lỗi vì trả lời trễ, nhưng cuối cùng tôi đã chuyển sang Glassfish vì nó là một trong số ít các thùng chứa tương thích Java EE 6. Cấu hình này hoạt động tốt. Tôi đã phải tự cài đặt các hiện vật để làm cho chúng hoạt động, nhưng nó chạy ngay bây giờ. –

0

Vấn đề này kết quả từ thực tế là 2 plugin maven-glassfish khác nhau tồn tại cùng tên. Hãy thử sử dụng

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

Giải thích chi tiết về vấn đề này bạn có thể tìm thấy here.

+1

Tôi nghĩ rằng bài viết trên blog này là lỗi thời, các plugin nhúng là maven-nhúng-glassfish-plugin, không maven- glassfish-plugin. Xem http://blogs.sun.com/sirajg/entry/using_maven_plugin_for_v3 –

+0

@Pascal Có, bạn nói đúng. Phiên bản này dường như bị hỏng. – cetnar

3

@Walter White (không thể/không biết cách trả lời nhận xét của bạn vì vậy tôi trả lời thay thế): Tôi đã đọc rằng WAR bị phân tán là not fully supported by embedded GlassFish v3.

Cá nhân tôi đang lo lắng chờ v3.1 với tính năng Hỗ trợ hẹn giờ và MessageDriven. Hy vọng rằng dịch vụ hỗ trợ web cũng sẽ được bao gồm. Có ai xảy ra để có một đầu mối về một ETA cho v3.1?

PS: mvn org.glassfish:maven-embedded-glassfish-plugin:3.0:run phù hợp với tôi. Sẽ móc nó vào một chu kỳ sống tích hợp kiểm tra maven thích hợp ngay bây giờ.

0

thấy trên github dụ làm việc

gói

mvn nhúng-glassfish: chạy

<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> 
Các vấn đề liên quan